![](/img/trans.png)
[英]How to block client listening on a server or the port the client is listening to
[英]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.