怎么获取已连接了的远程主机IP地址?
有个服务器的服务线程启动后等待客户机的连接
ServerSocket serverSocket =new ServerSocket(PORT);
Socket client = serverSocket.accept();
当获取客户端的连接后,怎样得到客户端的IP?
要说明的一点是,这个客户处于内网当中,服务器位于公网
这个客户端可以通过流告诉服务器自己的IP
但这个IP是内网IP
服务器如何知道这个客户端的公网IP(和端口)呢?
即被网关路由器NAT之后的公网IP(和端口)呢?
问题点数:100、回复次数:4Top
1 楼zx2002027(http://www.netyi.net/in.asp?id=zx2002027)回复于 2006-03-26 11:12:54 得分 40
这应该要知道客户端的网关Top
2 楼kingok128(kingok128)回复于 2006-03-26 12:17:46 得分 0
网关肯定不预先知道
就是要连接后才想办法解决
意思就是怎么判定连接了的客户端的IP
Top
3 楼TinyJimmy(Jimmy)回复于 2006-03-26 13:41:36 得分 60
这样不可能知道的,网络层已经做了转换,应用层不可能恢复的。联通后用你的应用来传吧Top
4 楼kingok128(kingok128)回复于 2006-04-06 12:03:50 得分 0
通过Socket的一个成员函数可以解决了。呵呵。
查到了。Top




