C++ 非阻塞socket send() 报 Resource temporarily unavailable,errno 11 EAGAIN
搜索了解大概是 客户端不接收数据导致的
tcpdump信息如下
00:53:20.913298 IP 192.168.0.101.54040 > 192.168.0.104.http: Flags [S], seq 3626470018, win 65535, options [mss 1460,sackOK,TS val 2626609983 ecr 0,nop,wscale 9], length 0
00:53:20.913509 IP 192.168.0.104.http > 192.168.0.101.54040: Flags [S.], seq 2879253096, ack 3626470019, win 65160, options [mss 1460,sackOK,TS val 3242350133 ecr 2626609983,nop,wscale 6], length 0
00:53:21.026786 IP 192.168.0.101.54040 > 192.168.0.104.http: Flags [.], ack 1, win 128, options [nop,nop,TS val 2626610299 ecr 3242350133], length 0
00:53:21.031546 IP 192.168.0.101.54040 > 192.168.0.104.http: Flags [P.], seq 1:21, ack 1, win 128, options [nop,nop,TS val 2626610303 ecr 3242350133], length 20: HTTP
00:53:21.031662 IP 192.168.0.104.http > 192.168.0.101.54040: Flags [.], ack 21, win 1018, options [nop,nop,TS val 3242350251 ecr 2626610303], length 0
问一下客户端socket win为什么65535直接变成128,是不是这个问题导致的(大概不是,还有别的异常)
有的时候报了这个错,新创建的socket connect() 也一直报Resource temporarily unavailable,errno 11 EAGAIN