我在 linux 机器上运行端口转发代理。来自浏览器的所有连接都使用代理重新路由到不同的端口。
每当代理接收到 (recv()) 0 字节时,我使用关闭关闭与外部世界的连接(通过代理打开)。当该连接关闭时,我关闭与浏览器的连接。安排如下:
Connection Out Local Connection
外部世界 <-----> 转发代理(本地盒子)<-------> 客户端(本地盒子)
但是,在同一个套接字关闭之前,我在“本地连接”上收到了多个长度为 0 的数据包。当代理试图关闭与外部世界的连接时,就会发生这种情况。
我的理解是 TIME_WAIT 值是 2*MSL 并且结果相当高(数百秒)。但是,我在几分之一秒内看到了多个 0 字节数据包。难道我做错了什么?或者我的理解是错误的。
谢谢