Socket

Socket
服务端:
//1.创建Socket
Socket tcpServer = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//2.绑定ip跟端口号192.168.0.107
IPAddress ipaddress = new IPAddress(new byte[] { 192, 168, 0, 107 });
//3.Ipendpoint是对ip+端口做了一层封装的类
EndPoint point = new IPEndPoint(ipaddress, 7788);
//4.向操作系统申请一个可用的IP跟端口号用来通信
tcpServer.Bind(point);
//5.开始监听(等待客户端连接),参数是最大连接数
tcpServer.Listen(100);
Console.WriteLine("开始监听....");
Thread.Sleep(3);
//6.暂停当前线程,直到有一个客户端链接过来,之后进行下面的代码
Socket ClientScoket = tcpServer.Accept();
Console.WriteLine("有客户端链接.");
Thread.Sleep(2000);
//7.使用返回的Socket跟客户端通信
string message = "hello 欢迎你!";
//8.对字符串做编码,得到一个字符串的字节数组
byte[] data = Encoding.UTF8.GetBytes(message);
//9.发送消息
ClientScoket.Send(data);
Console.WriteLine("向客户端发送信息");
Thread.Sleep(2000);
//接收客户端发送过来的消息
//创建一个字节数组用来当做容器,去承接客户端发送过来的数据
byte[] data2 = new byte[1024];
int length = ClientScoket.Receive(data2);
string message2 = Encoding.UTF8.GetString(data2);//把字节数据转换为字符串
Console.WriteLine("接收到了从客户端发送过来的消息"+message2);
Console.ReadKey();
客户端
//1.创建Socket
Socket tcpClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//2.发起建立连接的请求
IPAddress ipaddress = IPAddress.Parse("192.168.0.107");
//端口号一定要和服务端的端口号一致
EndPoint point = new IPEndPoint(ipaddress, 7788);
//通过IP:端口号定位一个要连接到的服务端
tcpClient.Connect(point);
byte[] data = new byte[1024];
//length表示接收了多少字节的数据
int length = tcpClient.Receive(data);//这里擦传递一个byte数组,实际上这个data数据用来接受数据
//只把接收到的数据做一个转换
string message = Encoding.UTF8.GetString(data, 0, length);
Console.WriteLine(message);
//向服务器端发送消息
string message2 = Console.ReadLine();
tcpClient.Send(Encoding.UTF8.GetBytes(message2));//把字符串转换为字节数组,然后发送到服务端
Console.ReadKey();
浙公网安备 33010602011771号