客户端有2-5个,服务器端要循环接受到客户端发来的数据和IP地址,然后判断IP地址是否为这个几个客户端的IP地址,如果是,则接受数据,不是就不接受。
求高手帮忙!~~
分数不够可再加!~~

解决方案 »

  1.   

    在服务端监听一固定端口,客户端都向服务端指定端口发送消息,当服务端收到消息后,开启一新线程,将收到的Socket交给新开线程处理,在Socket中可得到IPEndPoint对象,该对象包含可客户端的IP和端口,若是指定客户端IP,则可回应消息,若不是,则不回应则完了。
      

  2.   

    可参与一下以前我写的一个基于UDP的简单聊天室
    http://www.cnblogs.com/kingthy/archive/2008/05/24/1206457.html
      

  3.   

     /// <summary>
            /// UDP回调
            /// </summary>
            /// <param name="ar"></param>
            private static void UDPDataReceived(IAsyncResult ar)
            {
                try
                {
                    Socket udpSocket = ar.AsyncState as Socket;
                                   int bytesRecved = udpSocket.EndReceiveFrom(ar, ref   (EndPoint)ServerEndPoint);
                    //当收到数据后,数据已在dataBuffers,把dataBuffers转换成可识别的结构体,依据命令类型Type
                 
                       udpSocket.RemoteEndPoint//接收到的package是来自哪个ipaddress,把dataBuffers,ipaddress传过去,在第一次刷新时显示
      

  4.   

    参考下:public IPAddress IP
            {
                get
                {
                    if ( this.socket != null)
                        return ( (IPEndPoint)this.socket.RemoteEndPoint ).Address;
                    else
                        return IPAddress.None;
                }
            }
      

  5.   

    WinpCap 的c#版本  SharpCap 功能比Sockets好用一些 建议你看一下 编写可以参考Winpcap中文手册