我正在使用用户空间 TCP 堆栈,syn:true, ack:false并向网站发送一个:
[2021-06-20T19:30:24Z DEBUG async_smoltcp::packet_log] PHY >>>>
[2021-06-20T19:30:24Z DEBUG async_smoltcp::packet_log] IP [192, 168, 1, 2] -> [13, 224, 38, 134]
[2021-06-20T19:30:24Z DEBUG async_smoltcp::packet_log] TCP: 47675 -> 80 syn: true, ack: false
有时它有效,但有时我得到syn:false, ack:true:
[2021-06-20T19:30:25Z DEBUG async_smoltcp::packet_log] PHY <<<<
[2021-06-20T19:30:25Z DEBUG async_smoltcp::packet_log] IP [13, 224, 38, 134] -> [192, 168, 1, 2]
[2021-06-20T19:30:25Z DEBUG async_smoltcp::packet_log] TCP: 80 -> 47675 syn: false, ack: true
[2021-06-20T19:30:25Z DEBUG smoltcp::socket::tcp] #0:0.0.0.0:47675:13.224.38.134:80: expecting a SYN|ACK
[2021-06-20T19:30:25Z TRACE smoltcp::socket::tcp] #0:0.0.0.0:47675:13.224.38.134:80: state=SYN-SENT=>CLOSED
[2021-06-20T19:30:25Z DEBUG smoltcp::iface::interface] cannot process ingress packet: dropped by socket
我尝试了其他网站,但这发生在所有网站上。发生这种情况时,我不会尝试重新连接。这是正常的吗?为什么有些网站会这样做?