-
Notifications
You must be signed in to change notification settings - Fork 38
Home
Hoping White edited this page Aug 19, 2020
·
11 revisions
trojan-rs在写完之后,使用中经常感觉会有一些比较奇怪的问题出现,当时没仔细想,今天在用iperf3测试的时候终于想明白问题出在哪里了。我在服务器端直接运行iperf3的时候会提示iperf3: error - the server is busy running a test. try again later
,但是在路由器上运行时,却会提示iperf3:error - unexpected end of file
。用strace追踪了一下发现,前一个提示会返回\377之后再close,而后一个直接读了个空字符串,也就是说直接断开连接了。那这个时候结论已经很明确了:当目标地址断开连接的时候,如果还有数据没从代理链路回来,那代理链路应该等到结果回到客户端之后再断开连接;同理,对于代理端也是一样。简而言之,如果数据已经收到了,那么就要发出去之后再跟对端断开连接,这样才表现的像个真正的透明代理。