Java - 异步套接字通道无法连接到远程异步服务器套接字通道

Java - async socket channel cannot connect to remote async server socket channel

我创建并调试了一个使用 AsynchronousSocketChannelAsynchronousServerSocketChannel 的简单网络应用程序,它们在通过 localhost 访问时工作正常,但即使我将服务器应用程序移动到另一台设备它根本拒绝连接。当我尝试对应用程序进行端口转发时,我首先注意到了这一点,但在将其移动到同一网络上的设备上并通过 IPv4 连接后,它仍然无法正常工作。我检查了这两个设备,它们都允许 Java 通过防火墙,并且没有任何东西阻止我使用的端口号(我还测试了各种其他端口)。如果客户端在同一台机器上并且您使用该机器的 IPv4,则客户端甚至无法连接到服务器。它实际上只适用于 localhost。还有其他人遇到过这个问题吗?

服务器通道是这样打开的:

serverSocket = AsynchronousServerSocketChannel.open();
serverSocket.bind(new InetSocketAddress("127.0.0.1", port));

通过删除 InetSocketAddress 的 IP 部分修复了它:

serverSocket = AsynchronousServerSocketChannel.open();
serverSocket.bind(new InetSocketAddress(port));

127.0.0.1替换为本机的IPv4,效果相同。如果有人能对此进行解释,那就太好了,因为我在网上看到的每个示例都绑定到 localhostAsynchronousServerSocketChannel 不应该被远程访问还是什么?