CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  网络通信

有关socket的select()的问题

楼主yzfuture2006()2006-03-02 18:10:20 在 专题开发/技术/项目 / 网络通信 提问

FD_ZERO(m_fsetskSnd);  
  FD_SET(m_sk,   m_fsetskSnd);  
   
  if(SOCKET_ERROR   ==   select(FD_SETSIZE,   (fd_set*)NULL,   &m_fsetskSnd,    
                                                                        (fd_set*)NULL,   (0,   0)))  
                            return   false;  
   
      据说上面这段代码中的SOCKET_ERROR,   会出现WSAEWOULDBLOCK值。  
      但我在MSDN上查到只有:  
      WSANOTINITIALISED  
      WSAEFAULT  
      WSAENETDOWN  
      WSAEINVAL  
      WSAEINTR  
      WSAEINPROGRESS  
      WSAENOTSOCK  
      这几个。  
   
      请那位大侠给指点一下,这种情况下SOCKET_ERROR,   会不会出现WSAEWOULDBLOCK值?  
      如果会为什么MSDN的select中又没有说明呢?  
      此处的socket设为no-block状态。 问题点数:15、回复次数:2Top

1 楼fierygnu(va_list)回复于 2006-03-03 10:08:58 得分 0

据说?据哪里说?Top

2 楼ollydbg(Ollydbg)回复于 2006-03-20 10:55:08 得分 0

select的结果<=0说明超时了,但在你的FD—SET集合里没有有效的SOCKET,如果》0则可进一步根据需要读写  
   
  int   n   =   select(0,   &readfds,   &writefds,   NULL,   &to   );  
  if   (   n   >   0   )   //存在有效的Socket  
  {  
  if   (   FD_ISSET(   sock,   &readfds   )   )   //判断sock是否在当前的可读集合内  
  {  
  int   iread   =   recvfrom(sock,   buf,sizeof(buf)-1,   0,   (sockaddr   *)&sockaddr_from,   &fromlen);  
  if(iread   >   0)  
  {  
  buf[iread]='\0';  
  ret_string=buf;  
  }  
  }  
  }  
   
  Top

相关问题

  • 有关socket
  • 有关socket!
  • 有关socket
  • 有关socket编程
  • 困惑,有关socket的
  • 有关Java Socket 问题
  • 有关Socket的问题
  • 有关select 问题
  • 求助:有关<select>……
  • 有关多线程和Socket的问题

关键词

  • socket
  • null
  • fsetsksnd
  • fd
  • wsaewouldblock值
  • 据说
  • 出现
  • error
  • select
  • set

得分解答快速导航

  • 帖主:yzfuture2006

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo