C# UDP广播
接收:while (true){
UdpClient udpClient = new UdpClient(8000);
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
string returnData = Encoding.UTF8.GetString(receiveBytes);
string[] a = returnData.Split('+');
MessageBox.Show(a[0]);
if (a[0] == "UP")
{
listBox1.Items.Add(a[1]);
}
udpClient.Close();
}
发送:string I = GetIP();
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
sock.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, 1);
IPEndPoint iep = new IPEndPoint(IPAddress.Broadcast, 8000);
byte[] data = Encoding.UTF8.GetBytes("UP+" + I);
sock.SendTo(data, iep);
sock.Close();
请问运行以上这段UDP广播的代码,本机就能接收自己发送的广播,但是在局域网内的其他电脑就接收不了我发送的广播,我也接收不了别人发送的广播,只能自己接收自己发送的广播,为什么呢? --------------------编程问答-------------------- 看不懂,但是感觉很厉害的样子 --------------------编程问答-------------------- IPEndPoint iep = new IPEndPoint(IPAddress.Broadcast, 8000);
端口号8000,看看客户端的端口情况 --------------------编程问答--------------------
怎么看? --------------------编程问答-------------------- 以前写的测试udp的例子,局域网测试通过。
http://download.csdn.net/detail/mjp1234airen4385/2983347
补充:.NET技术 , C#