int SocketClient::connectTimeOutForWin(SOCKET &connect_fd, const int &timeout, const sockaddr_in &server)
{
int error=-, len;
len = sizeof(int);
timeval tm;
fd_set set;
unsigned long ul = ; //设置为非阻塞模式 ioctlsocket(connect_fd,FIONBIO,&ul); bool ret = false;
if( connect(connect_fd, (struct sockaddr *)&server, sizeof(struct sockaddr)) == -)
{
tm.tv_sec = timeout;
tm.tv_usec = ;
FD_ZERO(&set);
FD_SET(connect_fd, &set);
if( select(-, NULL, &set, NULL, &tm) > )
{ getsockopt(connect_fd, SOL_SOCKET, SO_ERROR, (char*)&error, &len); if(error == ) ret = true;
else ret = false;
} else ret = false;
}
else ret = true;
ul = ; //设置为阻塞模式
ioctlsocket(connect_fd,FIONBIO,&ul); if(!ret){
closesocket(connect_fd);
// fprintf(stderr,"Connect server fail in WIN\n");
}
return ret;
}

windows网络编程之socket中的非阻塞connect()与getsockopt()

最新文章

  1. An error occurred during the installation of assembly 'Microsoft.VC90.CRT……的问题
  2. CSS关于子元素设置了float属性后父元素高度为0的解释和解决方法
  3. 备忘:hibernate, logback, slf4j实际应用一例
  4. Gson心得小笔记
  5. for (Map.Entry<Long, Integer> me : zlSendMap.entrySet())
  6. Java-马士兵设计模式学习笔记-责任链模式-FilterChain功能
  7. 用html5的canvas生成图片并保存到本地
  8. qt button以及label实现不规则图形(五种方法:使用QSS,设置Mask图片,自己画)
  9. js实现Mac触摸板双指事件(上、下、左、右、放大、缩小)
  10. 7、树莓派编程;gpio编程;led闪烁
  11. crontab 任务程序执行乱码的问题
  12. ROS入门学习
  13. 雷林鹏分享:jQuery EasyUI 数据网格 - 创建自定义视图
  14. Eureka服务注册中心相关错误com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
  15. [daily][dpdk] 网卡offload识别包类型;如何模拟环境构造一个vlan包
  16. Java中this和super的用法和区别
  17. linux命令学习之:ifconfig
  18. Eclipse,代码中有错误,项目中却不显示红叉
  19. 课堂final发布
  20. PHPCMS 栏目添加字段和修改描述textarea变成fceditor编辑器

热门文章

  1. static关键字的用法
  2. 用织梦建站如何去掉a这个目录,还有内容页的a
  3. 日志与python日志组件logging
  4. scss 转为 less
  5. Lodop纯文本英文-等符号自动换行问题
  6. Cherry.chen window.clipboardData实现剪切板操作总结 (好像只有ie好用)
  7. SVG路径
  8. 当页面上需要的字段不在model中时候,需要自行设置该字段
  9. django--orm表自关联详解
  10. L - Vases and Flowers HDU - 4614 线段树+二分