C#中Socket通信用法实例详解

2019-12-26 13:33:16丽君

客户端代码:

 

 
  1. void MainInfo()  { 
  2. byte[] data = new byte[1024];//定义一个数组用来做数据的缓冲区  string input, stringData; 
  3. IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("192.168.1.21"), 9050);  Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); 
  4. string welcome = "Hello,are you there?";  data = Encoding.ASCII.GetBytes(welcome); 
  5. server.SendTo(data, data.Length, SocketFlags.None, ipep);//将数据发送到指定的终结点  IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0); 
  6. EndPoint Remote = (EndPoint)sender;  data = new byte[1024]; 
  7. int recv = server.ReceiveFrom(data, ref Remote);//接受来自服务器的数据  Console.WriteLine("Message received from{0}:", Remote.ToString()); 
  8. Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));  while (true)//读取数据 
  9. {  input = richTextBox1.Text;//从键盘读取数据 
  10. if (input == "text")//结束标记  { 
  11. break;  } 
  12. server.SendTo(Encoding.ASCII.GetBytes(input), Remote);//将数据发送到指定的终结点Remote  data = new byte[1024]; 
  13. recv = server.ReceiveFrom(data, ref Remote);//从Remote接受数据  stringData = Encoding.ASCII.GetString(data, 0, recv); 
  14. Console.WriteLine(stringData);  } 
  15. Console.WriteLine("Stopping client");  server.Close();