首先寫個接受訊息的用戶端。這裡偷了點懶,new UdpClient(11000)就是用Udp方式偵聽11000連接埠,偵聽任何發送到11000連接埠的訊息都會接收到。
代碼
UdpClient udpClient = new UdpClient(11000);
try
{
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
string returnData = Encoding.ASCII.GetString(receiveBytes);
Console.WriteLine("This is the message you received " +
returnData.ToString());
Console.WriteLine("This message was sent from " +
RemoteIpEndPoint.Address.ToString() +
" on their port number " +
RemoteIpEndPoint.Port.ToString());
udpClient.Close();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
然後寫個發Udp的伺服器
代碼
UdpClient udpClient = new UdpClient(11001);
try
{
udpClient.Connect(IPAddress.Parse("192.168.0.255"), 11000);
Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody thereA?");
udpClient.Send(sendBytes, sendBytes.Length);
udpClient.Close();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
其中192.168.0.255是你的內網廣播位址,11000是用戶端的連接埠。
廣播位址是通過你的子網路遮罩獲得的例如你的網關是192.168.0.1,掩碼是255.255.255.0,那麼你的廣播位址就是192.168.0.255.