【问题标题】:Netty server remote connectionNetty 服务器远程连接
【发布时间】:2013-05-28 05:55:10
【问题描述】:

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);

我尝试仅使用端口、本地主机 IP、0.0.0.0 IP 和我的网络 IP 来初始化 hostAddress。没有什么帮助。问题的根源可能是什么?

【问题讨论】:

  • 你能通过IP地址远程pingnetty服务器吗?
  • @Nicholas,是的,我可以成功 ping 服务器。

标签: java networking netty


【解决方案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 的输出)

【讨论】:

  • @Nickolas,非常感谢!!!如果有更多像你这样的人,世界会更好!祝你好运,心情愉快,非常有趣!
猜你喜欢
  • 2013-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-25
  • 2019-09-25
  • 2017-09-16
  • 2012-03-03
  • 1970-01-01
相关资源
最近更新 更多