社区
网络编程
帖子详情
如何判断异步connect连接成功?
bluecrest
2004-10-21 04:13:00
?
...全文
318
4
打赏
收藏
如何判断异步connect连接成功?
?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
elssann
2004-10-21
打赏
举报
回复
请分清楚异步IO和非阻塞IO的区别。
异步IO是吧IO提交给系统去做,做完了通知你。
非阻塞IO是通过某种方法定时向系统查询是否可以做了,当可以做了系统就
告诉你,然后你再去做。
Jimmy_Xia
2004-10-21
打赏
举报
回复
网络编程及其弱,学习中!
醉马不肖
2004-10-21
打赏
举报
回复
if( (s=socket(AF_INET, SOCK_STREAM, 0))<0){
return FALSE;
}
fcntl(s,F_SETFL, O_NONBLOCK);
if(connect(s,(struct sockaddr*)&saddr, sizeof(saddr)) == -1) {
if (errno == EINPROGRESS){// it is in the connect process
struct timeval tv;
fd_set writefds;
tv.tv_sec = m_nTimeOut;
tv.tv_usec = 0;
FD_ZERO(&writefds);
FD_SET(s, &writefds);
if(select(s+1,NULL,&writefds,NULL,&tv)>0){
int len=sizeof(int);
//下面的一句一定要,主要针对防火墙
getsockopt(s, SOL_SOCKET, SO_ERROR, &error, &len);
if(error==0) ret=TRUE;
else ret=FALSE;
}else ret=FALSE;//timeout or error happen
}else ret=FALSE;
}
else ret=TRUE;
close(s);
alexmayer
2004-10-21
打赏
举报
回复
搬个凳子坐下听讲!
顺便帮顶混分!
Python
异步
编程详解
您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 了解
异步
编程的好处 在面试中,遇到
异步
,多线程,生成器这些核心问题可以对答如流 尝试使用
异步
编程来优化自己的代码或者搭建
异步
处理框架 在...
linux中使用select和epoll确定
异步
connect
连接
是否
成功
服务器开发中网络编程是一项基本技能也是重要的技能,在高并发socket编程中我们经常会使用到
异步
socket也就是非阻塞socket。下面记录下非阻塞socket中如何
判断
connect
连接
是否成。在非阻塞socket调用
connect
函数之后可能出现的情况有: 1
connect
函数直接返回0,那么恭喜你
连接
直接
成功
了,不用考虑其他问题了。 2
连接
返回错误,errno等于EINPROGRE
linux中使用select和epoll确定
异步
connect
连接
是否
成功
标签: 网络编程服务器
异步
connect
SO_ERRORsocket 2016-07-31 23:07 1008人阅读 评
linux中使用select和epoll确定
异步
connect
连接
是否
成功
标签: 网络编程服务器
异步
connect
SO_ERRORsocket 2016-07-31 23:07 1008人阅读 评论(2) 收藏 举报 分类: 服务器开发日记(7) 版权声明:本文为博主原创文章,未经博主允许不得转载。 服务器开发中网络编程
socket之
异步
connect
异步
connect
: 1.将打开的socket设为非阻塞的,可以用fcntl(socket, F_SETFL, O_NONBLOCK); 2.发
connect
调用,这时返回0说明已经
连接
成功
了;如果返回-1,但是errno被设为EINPROGRESS或者EWOULDBLOCK,意即
connect
仍旧 在进行还没有完成. 如果errno是其他值,则说明
连接
失败。 3.如果是连
要掌握的
异步
connect
用法
在 socket 是阻塞模式下
connect
函数会一直到有明确的结果才会返回(或
连接
成功
或
连接
失败),如果服务器地址“较远”,
连接
速度比较慢,
connect
函数在
连接
过程中可能会导致程序阻塞在
connect
函数处好一会儿(如两三秒之久),虽然这一般也不会对依赖于网络通信的程序造成什么影响,但在实际项目中,我们一般倾向使用所谓的
异步
的
connect
技术,或者叫非阻塞的
connect
。这个流程一般有如下步骤: 1 2 3 1. 创建socket,并将 soc.
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章