linux connect超时方法
来源:互联网 发布:订单管理数据流程图 编辑:程序博客网 时间:2024/05/17 05:14
- void u_alarm_handler()
- {
- }
- sigset(SIGALRM, u_alarm_handler);
- alarm(2);
- code = connect(socket_fd,(struct sockaddr*)&socket_st, sizeof(struct sockaddr_in));
- alarm(0);
- sigrelse(SIGALRM);
2. 使用非阻塞
int error =-1,len;
timeval tm;
fd_set set;
unsigned long ul = 1;
ioctl(sock,FIONBIO,&ul);
bool ret;
if (::connect (sock, (struct sockaddr *) &destSin, sizeof (destSin)) < 0)
{
tm.tv_sec = 2;
tm.tv_usec = 0;
FD_ZERO(&set);
FD_SET(sock,&set);
if(select(sock+1,NULL,&set,NULL,&tm)>0 && FD_ISSET(sock,&set)!=0)
{
getsockopt(sock,SOL_SOCKET,SO_ERROR,&error,(socklen_t*)&len);
if(error ==0)
{
ret = true;
}else{
ret = false;
}
}else{
ret = false;
}
if(!ret)
{
if(sock != -1)
::close(sock);
sock = -1;
return TVS_CONN_FAIL;
}
}
//设置为非阻塞模式
ul = 0;
ioctl(GPro->iAnalyseSock,FIONBIO,&ul);
- linux connect超时方法
- 设置connect超时-linux
- linux 设置connect 超时
- connect设置超时的方法
- linux connect 设置连接超时
- linux socket connect超时设置
- linux connect 设置连接超时
- Linux下实现connect超时
- linux socket的connect 超时
- Linux下connect超时处理
- Linux 下socket超时(connect超时/recv超时)
- Linux 下socket超时(connect超时/recv超时)
- Linux 下socket超时(connect超时/recv超时)
- Linux 下socket超时(connect超时/recv超时)
- Linux 下socket超时(connect超时/recv超时)
- linux socket编程实现connect超时的一种方法(非阻塞)
- 如何设置socket的Connect超时(linux)?
- 如何设置socket的Connect超时(linux)
- Top K 算法详解(哈希表Hash的使用)
- android 蓝牙4.0多通道
- vimgrep的用法
- 如何把ppt转换成word格式
- GCD学习之——dispatch_once
- linux connect超时方法
- 第14 章 Annotation(注解)
- MIDlet工作原理
- 同步异步,阻塞非阻塞
- 刷算法题时如何便捷地输入输入样例
- Ubuntu更换源
- 欢迎使用CSDN-markdown编辑器
- poj 2391(二分+拆点+最大流)
- python 入门显示Hello world