当前位置:首页 > Windows程序 > 正文

C# UDP广播消息

2024-03-31 Windows程序

首先是发送端:

/// <summary> /// 发送UDP消息 /// </summary> /// <param>消息内容</param> void Send(string msg) { UdpClient udpClient = new UdpClient(); IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Broadcast, 10249); byte[] buffer = Encoding.UTF8.GetBytes(msg); udpClient.Send(buffer, buffer.Length, ipEndPoint); }

然后是接收端:

static void Main() { UdpClient udpServer = new UdpClient(10249); IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Any, 10249); udpServer.BeginReceive(Received, udpServer); }

/// <summary>
/// 异步接收UDP数据
/// </summary>
/// <param></param>
void Received(IAsyncResult iar)
{
  udpServer = iar.AsyncState as UdpClient;
  byte[] buffer = udpServer.EndReceive(iar, ref ipEndPoint);

  //将获取的byte[]数据转换成字符串
  string m = Encoding.UTF8.GetString(buffer).Trim();

  Console.WriteLine("Receive:{0}",m);

  //继续异步接收数据
  udpServer.BeginReceive(Received, udpServer);
}

接收端采用了异步执行的方式,当然也可以用Thread来做!

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/39142.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494595访问次数
  • 建站天数
  • 友情链接