请教个问题,在C#中用UDPClient类 服务器端发送数据时,也要指定IP地址吗?不是UDP是以广播域的形式发送的吗?这样说来,服务器端只要发送数据,所有客户端都应收到才对呀!代码如:
UdpClient udp_TS;
byte[] bLocation = { 0,0,0,0,0 };
udp_TS.Send(bLocation, bLocation.Length, (这里需要IPEndPoint));

解决方案 »

  1.   

    客户端数据可以接收了,udp_TS.Send(bLocation, bLocation.Length, (这里需要IPEndPoint,一开始怎么定义的,就直接用。不需修改)); 
    但是需要一个步骤:客户端必需要先同服务器成功发送数据后,服务器才可以把数据发送到客户端。否则只能是服务器自己发给自己
      

  2.   

    UDP发送广播代码,应该类似吧http://www.cnblogs.com/panjun-Donet/articles/1133205.html
      

  3.   

    http://www.cnblogs.com/panjun-Donet/articles/1133205.html发送时,不需要指定接收的IP地址
      

  4.   

    需要设置广播    Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);
        //让其自动提供子网中的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();