Open bigbao9494 opened 5 years ago
下面的这些BUG,感觉确实有,我就把sample4_echo修改成一个简单的windows下的server/client程序 就使用connet连接服务器,send/recv收发数据,却不能正常工作,总不能写网络程序非得使用boost.asio吧
1、connet问题可能是: connect_mode_hook函数中有BUG,这个if判断有问题, 应该修改成if (res < 0 && WSAGetLastError() != WSAEINPROGRESS && WSAGetLastError() != WSAEWOULDBLOCK)
if (res < 0 && WSAGetLastError() != WSAEINPROGRESS) { ErrnoStore es; setNonblocking(s, false); return res; } 2、感觉read_mode_hook也有BUG,使用recv()去读socket数据时不能正常工作,暂时未找到BUG在哪儿
为什么要这样改呢?
@yyzybb537 原代码在win下使用时,connect调用后会立即返回-1,getlasterror 返回10035 (即WSAEWOULDBLOCK)
@yyzybb537 确实存在这个问题,@bigbao9494 他这样改完就可以了
下面的这些BUG,感觉确实有,我就把sample4_echo修改成一个简单的windows下的server/client程序 就使用connet连接服务器,send/recv收发数据,却不能正常工作,总不能写网络程序非得使用boost.asio吧
1、connet问题可能是: connect_mode_hook函数中有BUG,这个if判断有问题, 应该修改成if (res < 0 && WSAGetLastError() != WSAEINPROGRESS && WSAGetLastError() != WSAEWOULDBLOCK)
if (res < 0 && WSAGetLastError() != WSAEINPROGRESS) { ErrnoStore es; setNonblocking(s, false); return res; } 2、感觉read_mode_hook也有BUG,使用recv()去读socket数据时不能正常工作,暂时未找到BUG在哪儿