无法与服务器正在侦听的端口进行通信

时间:2014-08-20 05:37:24

标签: c++ linux tcp netstat

我有一个监听端口(8087)的应用程序。有一个客户端进程向该服务器发出请求,服务器将发回响应消息。在一些请求和响应之后,我的客户端进程无法连接到该端口。

当我使用netstat工具时,我可以看到一个端口正在侦听。我的流程也在运行。

# netstat -a | grep 8087
tcp        0      0 0.0.0.0:8087            0.0.0.0:*               LISTEN

但我无法从客户端连接到该端口。这可能是什么原因?

1 个答案:

答案 0 :(得分:0)

尝试以下步骤

  1. 在服务器上运行命令" iptables -nL"查看已设置的策略。如果设置了防火墙规则,请删除规则并尝试重新连接。

  2. 在服务器计算机上运行以下tcpdump命令

    tcdump -nnvX -s0 -iem1 host client_machine_ip and port 8087

    并在客户端计算机上执行tcpdump命令

    tcdump -nnvX -s0 -iem1 host server_machine_ip and port 8087

    这将告诉您客户端计算机是否正在发送数据包并且服务器计算机正在接收它。

  3. 运行命令" netstat -ans"在服务器计算机上以及IP和TCP标签下,查看是否有任何数据包被丢弃。

  4. 检查服务器计算机上的/ var / log / messages是否有任何错误报告。

  5. 希望这有帮助。