一杯阔乐

导航

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();

 

posted on 2021-10-21 13:55  一杯阔乐  阅读(116)  评论(0)    收藏  举报