tempad
Readygo技术搜索引擎 >>游戏开发 >> 请问连接服务器超时怎么实现?

请问连接服务器超时怎么实现?

Readygo技术搜索引擎 网络搜索 efish 2008-1-17 1:59:32

请问连接服务器超时怎么实现?

楼主B2China(海陆空天电磁)2004-03-25 14:24:56 在 VC/MFC / 网络编程 提问

用Winsocket的connect函数实现连接数据库,但是置连接超时怎么实现? 问题点数:20、回复次数:3Top

1 楼yangang000(风)回复于 2004-03-25 14:32:31 得分 10

int   setsockopt   (  
      SOCKET   s,                                    
      int   level,                                  
      int   optname,                              
      const   char   FAR   *   optval,      
      int   optlen                                  
  );  
     
  Top

2 楼Semigod()回复于 2004-03-25 15:20:44 得分 10

我记得connect   的超时设置是没法用setsockopt来设置的,所以以前写了这样的代码实现,  
  DWORD   dwWaitRes   =   WSA_WAIT_FAILED;  
  ATLVERIFY(WSAResetEvent(m_hEvent));  
  //ioctlsocket(sckSocket,   FIONBIO,   &arp); //   进入none-blocking   mode  
  //   WSAEventSelect()会自动将socket设置为none-blocking方式  
  //   因此,不需要再调用ioctlsocket来设置  
  ATLVERIFY(WSAEventSelect(sckSocket,   m_hEvent,   FD_CONNECT)   ==   0);  
   
  //   连接服务器  
          if   (connect(sckSocket,(const   struct   sockaddr   *)&sinServer,sizeof(sinServer))==SOCKET_ERROR    
  &&   WSAGetLastError()   ==   WSAEWOULDBLOCK)  
  dwWaitRes   =   WSAWaitForMultipleEvents(1,   &m_hEvent,   TRUE,   m_nSendTimeout,   FALSE);  
  WSAEventSelect(sckSocket,   m_hEvent,   0);  
  unsigned   long   arp   =   0;  
  ioctlsocket(sckSocket,   FIONBIO,   &arp); //   进入blocking   mode  
   
  这段代码在我的程序里是正常工作的Top

3 楼B2China(海陆空天电磁)回复于 2004-03-25 16:05:01 得分 0

Semigod()   ,  
   
  你给出的例子一定有上下文吧?  
  能给一个简单点的实用例子吗?Top

责任编辑: efish 参与评论 查找更多:
相关文章
转贴,非本人观点:自己动手写OS(操作系统)(一) 转贴,非本人观点:自己动手写OS(操作系统)(一)
几道题求解,一定放分! 几道题求解,一定放分!
请问一下从网上DOWN下来的DOMINO5。09 有注册用户限… 请问一下从网上DOWN下来的DOMINO5。09 有注册用户限制吗?如果限制那可最多可以有多少个用户?
详细设计伪代码怎么写,那个高手帮个忙,根据这个方… 详细设计伪代码怎么写,那个高手帮个忙,根据这个方法把它的伪代码写出来,万分感谢
如何让自己写的DLL只允许静态链接 如何让自己写的DLL只允许静态链接
我想做一个从TGraphicobject继承的控件,可是控件的… 我想做一个从TGraphicobject继承的控件,可是控件的字体.........
在XP下的串口通讯时,我的波特率设置成5BAUD,便不能… 在XP下的串口通讯时,我的波特率设置成5BAUD,便不能接收,请问是何原因
请问如何读取WORD文档里的内容,用readfile()怎么不… 请问如何读取WORD文档里的内容,用readfile()怎么不行?
小弟的2个小问题?(Tabsheep,treeview) 小弟的2个小问题?(Tabsheep,treeview)
请教如何查看ACCESS编写程序的原代码? 请教如何查看ACCESS编写程序的原代码?
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎