博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

winsock的accept变成不阻塞的可能原因之一

Posted on 2007-05-12 16:48  叶落无痕  阅读(1935)  评论(3编辑  收藏  举报

在用这段代码的时候发现accept总是在没有连接就直接返回了:
int clientAddrLen = 0;
cSocket = accept(lSocket,(SOCKADDR*)&clientAddr,&clientAddrLen);

弄了N久后才发现是这个问题,之前看MSDN还以为第三个参数只是对外传的呢,汗
这段代码就OK了
int clientAddrLen = sizeof(SOCKADDR);
cSocket = accept(lSocket,(SOCKADDR*)&clientAddr,&clientAddrLen);

第三个参数也参与控件的