关于C#服务器端如何获取连接它的客户端的IP地址的问题

关于C#服务器端如何获取连接它的客户端的IP地址的问题,第1张

IPHostEntry ipe = DnsGetHostEntry(DnsGetHostName()); 

            IPAddress ipa = ipeAddressList[1];

labelText = ipaTostring();//看看是不是你想要的

只能根据用户请求带过来的sessionID所匹配的ip地址 而且只可以通过request获得ip 反正你能得到session 那得到request是一样简单的不是吗

得到request后命令为:

  String ip = requestgetRemoteAddr();

这个ip字符串就是了

你是想知道代码还是想了解原理,一般的C/S模型都由客户端发出连接请求(客户端在代码中都是存有服务器端的具体ip地址和端口信息(也就是服务器端的INET协议族地址结构)的),当客户端发送连接请求后,服务器端通过accpet函数接收连接请求,accpet函数示例:accept(ServerSocket,(struct sockaddr )&from,&len) (from是一个INET协议族地址结构变量,(struct sockaddr )的作用是把INET协议族地址结构强制转换为通用地址结构) ,accpet函数在接收连接的同时会把客户端的具体ip和端口信息赋值给from,所以说客户端socket连接的ip(非绑定的话客户机随机绑定ip和端口)是包含在连接报文数据里,服务器端只有接收到客户端发送的连接信息后,才会获得客户端的ip和端口信息,获得具体ip的方式是通过函数,这个函数可以提取出IPv4地址结构中的点分十进制地址,函数用法:inet_ntoa(fromsin_addr)。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 关于C#服务器端如何获取连接它的客户端的IP地址的问题

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情