建了个sock并将他设为非阻塞模式,connect时返回-1,监视了一下,连接都很正常,且能收发数据,不解?

大脚板 2003-06-13 03:25:16
如题
困惑ing
...全文
146 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
大脚板 2003-07-31
  • 打赏
  • 举报
回复
发分了
大脚板 2003-07-31
  • 打赏
  • 举报
回复
多次Connect后是会返回“此套接字以连接”,多谢各位了
qf2000 2003-07-23
  • 打赏
  • 举报
回复
非阻塞模式时connect将有可能正常或出错,但无论两者都可以继续下去,区别只是:正常时socket是可写的,出错时socket是既可读又可写。
pc200300 2003-06-18
  • 打赏
  • 举报
回复
还有非阻塞下,通常要多次才能连接成功,所以你要做个循环进行检测!
pc200300 2003-06-18
  • 打赏
  • 举报
回复
通常采用select()或WSAGetLastError()来判断,可以参考:
http://expert.csdn.net/Expert/topic/1924/1924738.xml?temp=.9506037
大脚板 2003-06-18
  • 打赏
  • 举报
回复
UP
pc200300 2003-06-18
  • 打赏
  • 举报
回复
API下默认的是阻塞模式,除非你用MFC下的类了!关于connect()的用法,MSDN上很清楚!
cwanter 2003-06-18
  • 打赏
  • 举报
回复
非阻塞模式你要设置I/O模型。
大脚板 2003-06-16
  • 打赏
  • 举报
回复
windows网络编程上写着,connect返回WSAEWOULDBLOCK表示初始化完成,再次调用便可检查连接是否完成。我再次连接后返回还是-1,错误 WSAEINVAL ,是我理解错了,还是应该别的做法,望高手指教
vtable9999 2003-06-13
  • 打赏
  • 举报
回复
正常
格利高里 2003-06-13
  • 打赏
  • 举报
回复
然后用getsockopt(sockfd, SOL_SOCKET, SO_ERROR, &error, (socklen_t*)&len);
检查没有错误,一般就是连上了
格利高里 2003-06-13
  • 打赏
  • 举报
回复
非阻塞模式当然connect返回-1,只要看看errno=EINTR就没问题
大脚板 2003-06-13
  • 打赏
  • 举报
回复
UP
大脚板 2003-06-13
  • 打赏
  • 举报
回复
顺便说一下,阻塞模式下,返回就为0

4,358

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧