请教个问题,在C#中用UDPClient类 服务器端发送数据时,也要指定IP地址吗?不是UDP是以广播域的形式发送的吗?这样说来,服务器端只要发送数据,所有客户端都应收到才对呀!代码如:
UdpClient udp_TS;
byte[] bLocation = { 0,0,0,0,0 };
udp_TS.Send(bLocation, bLocation.Length, (这里需要IPEndPoint));
UdpClient udp_TS;
byte[] bLocation = { 0,0,0,0,0 };
udp_TS.Send(bLocation, bLocation.Length, (这里需要IPEndPoint));
但是需要一个步骤:客户端必需要先同服务器成功发送数据后,服务器才可以把数据发送到客户端。否则只能是服务器自己发给自己
//让其自动提供子网中的IP地址
IPEndPoint iep = new IPEndPoint(IPAddress.Broadcast,8899);
//设置broadcast值为1,允许套接字发送广播信息
socket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Broadcast,1);
//将发送内容转换为字节数组
byte[]bytes = System.Text.Encoding.Unicode.GetBytes(this.textBox1.Text);
//向子网发送信息
socket.SendTo(bytes,iep);
socket.Close();