首页 文章

TCP连接 - 客户端在通信中间发送FIN

提问于
浏览
-1

我有一个充当TCP服务器的azure VM(在端口上监听的java程序) . TCP客户端(ncat)位于企业网络中 . 中间有一个公司防火墙 . 客户端通过发送消息启动与服务器的连接,然后服务器每3秒向客户端发送一行消息 . 客户端确实收到3或4条消息,但之后它会停止接收任何消息 . 服务器端没有例外 . 当客户端和服务器都在公司网络中时,我不会遇到此问题 . 线鲨捕获在下面 . 我不明白为什么客户端正在发送FIN(以黄色突出显示) . 请给我任何建议 .

Wireshark Capture

1 回答

  • 0

    问题在于Azure和企业网络之间的防火墙中的tcp-halfclose-timer值 . 它设置为10秒,所以一旦FIN从客户端发送,10秒后服务器无法向客户端发送任何消息,因为防火墙在10秒后关闭了半封闭连接 . 该值更改为1小时,之后问题得到解决 .

相关问题