社区
C++ 语言
帖子详情
为什么select监听两个或以上socket要段错误?百思不解
yeyumin89
2012-02-11 01:50:30
我用的ACE,我现在的情况是,我有一个client同时连接两个端口(两个server都是127.0.0.1,端口不同),然后一个线程select两个端口是否可读,但是select会段错误,不管对方有没有传数据过来。而且如果两个连接但我只监听一个socket的话还是会段错误,只有在只有一个连接的情况下select才会正常,很奇怪啊,大家帮我分析下吧。
...全文
144
4
打赏
收藏
为什么select监听两个或以上socket要段错误?百思不解
我用的ACE,我现在的情况是,我有一个client同时连接两个端口(两个server都是127.0.0.1,端口不同),然后一个线程select两个端口是否可读,但是select会段错误,不管对方有没有传数据过来。而且如果两个连接但我只监听一个socket的话还是会段错误,只有在只有一个连接的情况下select才会正常,很奇怪啊,大家帮我分析下吧。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IT面试社区
2012-02-12
打赏
举报
回复
欢迎加入网络编程爱好者群:213446800
yeyumin89
2012-02-12
打赏
举报
回复
才接触网络不久 大家帮我分析下啊
yeyumin89
2012-02-11
打赏
举报
回复
[Quote=引用 1 楼 justkk 的回复:]
你的 select 语句是怎么写的?
[/Quote]
我的ACE_SOCK_Stream和服务器地址是关联到一起放到map里面的,ACE_SOCK_Stream *指向保存它的一个结构。
ACE_Handle_Set handles;
map<string, ACE_SOCK_Stream *>::iterator iter = sock_pool.begin();
while (iter != sock_pool.end()){
handles.set_bit((*(iter->second)).get_handle());
++iter;
}
max = handles.max_set();
ACE::select (max + 1; &handles; NULL; &tv);
很奇怪,当只连接了一个服务器的时候是正常的,连接两个后到select这就断错误
justkk
2012-02-11
打赏
举报
回复
你的 select 语句是怎么写的?
百思不解
的近义词.doc
百思不解
的近义词.doc
百思不解
的近义词精选.doc
百思不解
的近义词精选.doc
图灵程序设计丛书 - 鲜活的数据数据可视化指南
然而,同样的数据给人的感觉可能会千差万别:或冰冷枯燥,让人望而生畏、
百思不解
其意;或生动有趣,让人一目了然、豁然开朗。为了达到后一种效果,我们需要采用一种特别的方式来展示数据,来解释、分析和应用它。这...
OxygenRead:一个阅读软件
这是一个功能强大的阅读软件 在这里面你可以看到当天的天气,当你在不开心时,你也可以看看里面的趣味段子和
百思不解
。相信你一定会开心起来的。 当然,如果你不看这些。想去电影院看电影。那么你可以去电影专区看看...
hive insert into table ...
select
语法数据覆盖
hive insert into table ...
select
语法数据覆盖
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章