2

我有一个在同一台计算机上运行的节俭服务器和客户端,但是当我在另一台计算机上运行客户端(使用服务器计算机的 IP)时,客户端无法连接。两台电脑都是linux的。有任何想法吗?


编辑:如果我在我的服务器计算机上使用 来检查某些 IP 上的活动sudo netstat -tulpn | grep [ip]:[port],我会得到:

172.18.18.106:9090 -> 没有

:9090 ->tcp 0 0 0.0.0.0:9090 0.0.0.0:* LISTEN 10642/server

有没有办法将 0.0.0.0 更改为我的 ip?

4

2 回答 2

0

最近我遇到了与 apache hbase.2.1.2 类似的问题。我已经设置了 hbase 并启动了 Thrift 服务器。它打开了端口 9090 和 9095。我可以在本地连接它们,但不能远程连接。由于我可以远程 telnet 两个端口,防火墙问题得到了解决。我发现问题出在超时设置中。显然,您创建的默认 TSocket 似乎在本地设置中具有非常有限的超时。但是,对于远程连接,您需要在创建 TSocket 时增加超时。

TSocket socket = new TSocket(serverHostName, port, 10000)
于 2019-01-14T16:16:23.550 回答
0

是的,当然。您应该将 Thrift 服务器与服务器计算机的 IP 绑定。

另一种解决方案是检查是否有任何防火墙规则阻止端口 9090 从外部网络访问。您应该从您的客户端计算机上执行 telnet:

telnet 172.18.18.106 9090 

如果它可以连接,你就完成了。

于 2017-04-28T05:01:58.560 回答