Bug:两个客户端趋近于同一时刻关闭的情况,recv返回的是同一个socketID,应该是返回两个socketID才对
现状:启动一个服务器tcpip程序,三台客户端程序,每个20ms连接断开一次,一直循环。
tcp服务器端程序accept阻塞等待客户端连接
tcp服务器端程序recv阻塞等待客户端关闭
[201416][201604]11:44:36 ERROR: accept连接: 端口号54470连接,SOCKET号4852
[201416][201604]11:44:36 ERROR: accept连接: 端口号54726连接,SOCKET号4812
[201416][201604]11:44:36 ERROR: accept连接: 端口号54982连接,SOCKET号4868
[201416][204384]11:44:36 ERROR: recv断开: SOCKET号4852
[201416][204344]11:44:36 ERROR: recv断开: SOCKET号4812
[201416][204432]11:44:36 ERROR: recv断开: SOCKET号4868
[201416][201604]11:44:36 ERROR: accept连接: 端口号55238连接,SOCKET号4880
[201416][201604]11:44:36 ERROR: accept连接: 端口号55494连接,SOCKET号4836
[201416][201604]11:44:36 ERROR: accept连接: 端口号55750连接,SOCKET号4892
[201416][204496]11:44:36 ERROR: recv断开: SOCKET号4880
[201416][204544]11:44:36 ERROR: recv断开: SOCKET号4892
[201416][201604]11:44:36 ERROR: accept连接: 端口号56006连接,SOCKET号4900
[201416][201604]11:44:36 ERROR: accept连接: 端口号56262连接,SOCKET号4860
[201416][203984]11:44:36 ERROR: recv断开: SOCKET号4836
[201416][201604]11:44:36 ERROR: accept连接: 端口号56518连接,SOCKET号4916
[201416][204624]11:44:36 ERROR: recv断开: SOCKET号4916
[201416][204688]11:44:36 ERROR: recv断开: SOCKET号4916
[201416][201604]11:44:36 ERROR: accept连接: 端口号56774连接,SOCKET号4924
[201416][201604]11:44:36 ERROR: accept连接: 端口号57030连接,SOCKET号4884
[201416][204592]11:44:36 ERROR: recv断开: SOCKET号4860
[201416][201604]11:44:36 ERROR: accept连接: 端口号57286连接,SOCKET号4908
[201416][204648]11:44:36 ERROR: recv断开: SOCKET号4884
[201416][201604]11:44:36 ERROR: accept连接: 端口号57542连接,SOCKET号4956
[201416][204664]11:44:36 ERROR: recv断开: SOCKET号4908
[201416][204680]11:44:36 ERROR: recv断开: SOCKET号4884
[201416][201604]11:44:36 ERROR: accept连接: 端口号57798连接,SOCKET号4932
[201416][201604]11:44:36 ERROR: accept连接: 端口号58054连接,SOCKET号4964
[201416][204720]11:44:36 ERROR: recv断开: SOCKET号4956
[201416][204736]11:44:36 ERROR: recv断开: SOCKET号4932
[201416][204752]11:44:36 ERROR: recv断开: SOCKET号4964
[201416][201604]11:44:36 ERROR: accept连接: 端口号58310连接,SOCKET号4972
[201416][201604]11:44:36 ERROR: accept连接: 端口号58566连接,SOCKET号4940
[201416][201604]11:44:36 ERROR: accept连接: 端口号58822连接,SOCKET号4988
[201416][204784]11:44:36 ERROR:
现在的报错,应该和链表没有关系,因为没有用到链表,只打印了recv的值。问题出在了recv中,如果有两个客户端同一时刻断开的时候,recv返回时偶尔会出现同一个socketID.