首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请问一个非阻塞socket在connect后select的有关问题

2012-01-31 
请教一个非阻塞socket在connect后select的问题我创建了一个非阻塞的socket,随即connect到一个地址端口,成

请教一个非阻塞socket在connect后select的问题
我创建了一个非阻塞的socket,随即connect到一个地址端口,成功了。(因为服务器那边接到了连接)在随后循环调用select来判断这个socket是否在read   write   set里。

第一次select       write   set通过,   read   set没通过,这是正常的,说明连接成功了。

随后的select就出现了问题,都是write   set   read   set   同时通过。而recv得到的数据长度是0,事实上也没有给他发数据。   sdk里说这是连接断了,可我获得连接时间依然在递增, <unix网络编程> 里说同时通过这两个set是有错误发生,而我调用getlasterror     getpeername都没有错。  

我也不知道这是正确现象否,希望哪位高人能指点一二。先谢过


[解决办法]
根据我的经验,当网络连接断开的时候,在上边的设置的接收和发送事件都将触发。但是接收发送的字节数为0。取得网络错误的函数windows下是WSAGetLastError(),UNIX下我不清楚。你检查下。
[解决办法]
貌似不是这里的错误,你可以单步调试下

热点排行