C#使用UdpClient发送广播消息介绍

首先写个接受消息的客户端。这里偷了点懒,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.

你可能感兴趣的:(C#使用UdpClient发送广播消息介绍)