繁体   English   中英

是否可以找到连接到我的服务器的远程客户端的侦听端口?

[英]Is it possible to find the listening port of a remote client connecting to my server?

通过java.net.Socket建立传入的TCP连接后,我可以找到我的监听端口以及为此连接创建的端口。 有没有办法? 当连接到我的客户端也是监听连接的服务器时; 知道此远程客户端/服务器在哪个端口上监听?

感觉像是套接字的错误使用。 在我的情况下,它是识别组成我们的应用程序的客户端/服务器实体。 因此,在建立用于标识的传出连接时,我可以发送某种问候消息。
但是我很好奇这是否可行,但我没有找到答案。 有任何想法吗?

当客户端连接到服务器时,它将打开一个端口,供您将数据发送到客户端。 该连接自动连接,以便从服务器写入套接字将发送到正确的客户端端口。 如果您想知道Socket.getRemoteSocketAddress()是什么,它将返回一个SocketAddress ,可以将其InetSocketAddress为具有getPort()方法的InetSocketAddress

如果服务器要使用其他端口开放,则必须将端口从客户端发送到服务器。

例如,如果计算机A正在运行并且SSH服务器在端口1234上,并且它想通知计算机B,以便计算机B可以通过SSH到计算机A,并且计算机B正在侦听端口1337,则计算机A可以连接到计算机B的端口1337。计算机B,按照“我正在听1234”的行发送内容,B会读取该内容,然后B可以使用它通过SSH进入A。

暂无
暂无

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

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