使用组播有一个很大的好处,消息往只管往里面丢,接受端开个线程,不断地接收就可以了。

发送端:

Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint iep = new IPEndPoint(IPAddress.Parse("224.0.0.1"), 3000);
EndPoint ep = (EndPoint)iep;

byte[] b = Encoding.ASCII.GetBytes("just a test!");
s.SendTo(b, ep);
s.Close();

接收端:

Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint iep = new IPEndPoint(IPAddress.Any, 3000);
EndPoint ep=(EndPoint)iep;
s.Bind(iep);
s.SetSocketOption(SocketOptionLevel.IP,SocketOptionName.AddMembership,new MulticastOption(IPAddress.Parse("224.0.0.1")));
byte[]b=new byte[1024];
s.ReceiveFrom(b,ref ep);

string test;
test = System.Text.Encoding.ASCII.GetString(b);

Console.WriteLine(test);


s.Close();
Console.ReadKey();

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-02-19
  • 2021-08-01
  • 2022-12-23
  • 2022-12-23
  • 2021-07-27
  • 2021-04-16
猜你喜欢
  • 2022-12-23
  • 2021-09-08
  • 2021-08-30
  • 2022-12-23
  • 2022-01-21
  • 2021-10-18
  • 2022-02-15
相关资源
相似解决方案