首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

udp获取每一个客户端的IP地址,该怎么处理

2011-12-29 
udp获取每一个客户端的IP地址客户端有2-5个,服务器端要循环接受到客户端发来的数据和IP地址,然后判断IP地

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

[解决办法]
在服务端监听一固定端口,客户端都向服务端指定端口发送消息,当服务端收到消息后,开启一新线程,将收到的Socket交给新开线程处理,在Socket中可得到IPEndPoint对象,该对象包含可客户端的IP和端口,若是指定客户端IP,则可回应消息,若不是,则不回应则完了。
[解决办法]
可参与一下以前我写的一个基于UDP的简单聊天室
http://www.cnblogs.com/kingthy/archive/2008/05/24/1206457.html
[解决办法]
帮顶!~~
[解决办法]

C# code
 /// <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传过去,在第一次刷新时显示
[解决办法]
参考下:
C# code
public IPAddress IP        {            get            {                if ( this.socket != null)                    return ( (IPEndPoint)this.socket.RemoteEndPoint ).Address;                else                    return IPAddress.None;            }        }
[解决办法]
顶平民百姓
[解决办法]
WinpCap 的c#版本 SharpCap 功能比Sockets好用一些 建议你看一下 编写可以参考Winpcap中文手册

[解决办法]
帮你顶

热点排行