非阻塞connect流程
来源:互联网 发布:it helpdesk面试问题 编辑:程序博客网 时间:2024/05/17 02:07
1. create a socket
2.set noblock
3.connect
if (connect(pItor->socket, (struct sockaddr *) &server, sizeof(server)) == -1)
{
if(errno == EINPROGRESS)
{
pItor->connecttime = time(NULL);
pItor->state = ALARMSRV_PROC_STATE_CONNECTING;
}
else
{
//error
goto EXIT0;
}
}
4.if timeout
now = time(NULL);
if(abs(now - pItor->connecttime) < ALARM_CONNECT_TIME_OUT)
{
len = sizeof(int);
if(getsockopt(pItor->socket, SOL_SOCKET, SO_ERROR, &error, (socklen_t *) &len) == 0)
{
if(error == 0)
{
pItor->state = ALARMSRV_PROC_STATE_START;
break;
}
}
}
- 非阻塞connect流程
- 非阻塞connect
- 非阻塞connect编程
- linux非阻塞connect
- 非阻塞CONNECT
- 创建非阻塞connect
- 非阻塞connect()
- 非阻塞connect
- 非阻塞connect学习
- 非阻塞connect
- 非阻塞connect
- 非阻塞connect
- 非阻塞connect()
- 非阻塞connect问题
- 非阻塞connect
- 非阻塞connect
- 非阻塞connect
- 读书笔记:非阻塞connect
- android 4.2里面增加遥控器按键的方法
- Hibernate:视图映射
- linux内核--自旋锁的理解
- OpenCV for Android - Access elements of Mat
- JS中的RegExp对象(一)
- 非阻塞connect流程
- opencv笔记4----透视变换
- jQuery学习
- 老码农教你学英语:补充一些英语学习素材
- JS中的RegExp对象(二)
- 运行vbs脚本,提示“无法找到脚本‘XXX’的脚本引擎“Vbscript”的解决方法
- [原创分享]: ControlsAnchor.cls V1.2(终结版)
- 优先队列(priority_queue)
- weblogic Connection has already been closed解决方法