繁体   English   中英

获取 Socket 试图连接的 ServerSocket 的地址/端口? (爪哇)

[英]Get address/port of ServerSocket that a Socket is trying to connect to? (Java)

这个我说不好,给你举个例子。 如果我的代码是:

Socket socket = new Socket("1.2.3.4", 80);

然后我运行两种方法,例如:

System.out.println(socket.getAddressOfHost());
System.out.println(socket.getPortOfHost());

我希望它返回:

1.2.3.4
80

这可能吗?这些方法的名称是什么?

Socket连接到服务器后,可以使用Socket.getInetAddress()Socket.getRemoteSocketAddress()方法检索这些值:

InetAddress addr = socket.getInetAddress();
// InetAddress does not expose port numbers...
System.out.println(addr.getHostAddress());
System.out.println(addr.getHostName());

InetSocketAddress sockaddr = (InetSocketAddress) socket.getRemoteSocketAddress();
InetAddress addr = sockaddr.getAddress();
System.out.println(addr.getHostAddress());
System.out.println(addr.getHostName());
System.out.println(sockaddr.getPort());

有关更多详细信息,请参阅Socket文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM