Netty服务器远程连接

时间:2013-05-28 05:55:10

标签: java networking netty

Netty服务器,Fedora。我无法从远程主机连接到服务器,并且没有通过netstat util显示监听套接字。但是我可以在同一台机器上建立运行客户端和服务器的连接。就是这样:

port = System.getProperty(PORT_PROPERTY);
Preconditions.checkNotNull(port, "Network error, port property is not set");
hostAddress = new InetSocketAddress(Integer.valueOf(port));
...
serverChannel = bootstrap.bind(hostAddress);

我尝试使用仅端口,localhost IP,0.0.0.0 IP和网络IP初始化hostAddress。什么都没有帮助。什么可能是问题的根源?

1 个答案:

答案 0 :(得分:1)

以下是一些有助于解决问题的建议:

  • 为清楚起见(直到您解决此问题),请坚持使用

new InetSocketAddress("0.0.0.0", Integer.valueOf(port))

因为这将确保您绑定到所有接口。

  • 使用 -Djava.net.preferIPv4Stack = true 调用JVM以强制JVM进入IPV4。我发现在IPV4中更容易解决这些问题,因为它不如V6复杂。

  • 获取JVM的 PID ,然后发出如下的netstat:

sudo netstat -ap --numeric-ports | grep <PID>

这应显示JVM实例的所有套接字。 (如果您仍然无法远程连接,请发布此输出。还要发布 ifconfig 的输出)