收发广播消息要用到Udp协议
服务端发送广播:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace UdpBroadCast
{
class Program
{
static void Main(string[] args)
{
UdpClient udpClient = new UdpClient(AddressFamily.InterNetwork);
IPEndPoint broadcastIp = new IPEndPoint(IPAddress.Broadcast, 4534);
int i = 0;
while (true)
{
i++;
Byte[] b = Encoding.UTF8.GetBytes("广播消息"+i);
udpClient.Send(b, b.Length, broadcastIp);
Console.WriteLine(i);
System.Threading.Thread.Sleep(1000);
}
}
}
}
客户端接收广播消息:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace UdpBroadClientRecv
{
class Program
{
static void Main(string[] args)
{
UdpClient recevieUdpClient = new UdpClient(4534);
IPEndPoint loaclIP = new IPEndPoint(IPAddress.Any, 0);
while (true)
{
Byte[] r = recevieUdpClient.Receive(ref loaclIP);
Console.WriteLine(Encoding.UTF8.GetString(r));
}
}
}
这样一个简单的收发广播消息的系统就完成了。