这已经在 7 年前的堆栈溢出中被问到了。我在那里没有看到正确的答案。有没有办法做到这一点?
当这个数据包继续传输时,另一端不认为端口是伪开放的吗?应用程序被配置为确保仅使用套接字绑定使用这些端口。我无法让它工作。应用程序未连接到服务器。在wireshark上,(一个是服务器——它不在NAT之后),另一端自动发送RST ACK(关闭连接)。如何放入 tcp-port-keepalive,使其不会关闭连接?
详细信息:我有一个在 LAN 中运行良好的应用程序。P2P .. 现在我希望它在 NAT 之后工作,这样就不需要服务器了。该应用程序有一个使用端口 12345 的“服务器”端和一个使用端口 12346 的“客户端”端。这里的想法是使实际上位于 NAT 后面的服务器看起来好像是打开的。从而实现真正的点对点连接。