我遇到了 TCP 握手问题,在其他地方找不到答案。
我在本地设备上运行一个程序,该程序将数据发布到端口 50000。在同一台机器的终端中,我使用 netcat 连接到该端口。但是,在使用 tcpdump 和 wireshark 时,我可以看到 SYN 数据包已发送,但 SYN/ACK 数据包从未作为响应发送。我的 iptables 没有连接规则,所有链的默认策略都是接受连接。每次我尝试连接时都会发生这种情况,到目前为止,我不明白为什么服务器没有响应 SYN 数据包。
答案1
我修复了它。令我沮丧的是,这实际上是一个代码问题。我们将 listen() 积压大小设置为 0,导致任何尝试的连接都失败。对于 TCP,这意味着重新传输数据包。不知道这在一台机器上是如何工作的,而在另一台机器上却不工作,但现在它们都工作了。感谢大家的评论。