怎样才能中断select?

lu_zi 2004-10-18 10:27:23
在select的过程中,还没有到达超时,我想中断它,怎么作?
请说说windows下和linux下的两种情况,多谢
...全文
565 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sharkhuang 2005-01-27
  • 打赏
  • 举报
回复
window下clsoe你监听的socket之一就可以退出

linux这样是不行的!一是楼上说的方法!一个socket收中断消息
2。select时间设置断点!
3。可能需要重编内核
aspvbjava 2005-01-27
  • 打赏
  • 举报
回复
嗯,另外create一个socket,专门用于中断select
eastnofail 2005-01-24
  • 打赏
  • 举报
回复
在你自己需要返回的地方,关闭掉你的socket,select函数会立即返回
Brradish 2004-12-15
  • 打赏
  • 举报
回复
select超时短点~多次调用吧~~~好像select除了超时没法中断出来
aspvbjava 2004-12-15
  • 打赏
  • 举报
回复
select就是没有信号不返回,不可能有中断的方法,除了设置超时时间
lu_zi 2004-10-20
  • 打赏
  • 举报
回复
明白你的意思,但是有没有更简单的方法,比如哪个函数可以中断它
taojy 2004-10-19
  • 打赏
  • 举报
回复
能不能直接用 back 返回
铖邑 2004-10-19
  • 打赏
  • 举报
回复
linux下可以设置定时器alarm来中断
lu_zi 2004-10-19
  • 打赏
  • 举报
回复
你的意思是不是说在select中加入一个socket,当需要中断时我们就让这个socket返回,是吗?event我了解,管道是什么意思
sevencat 2004-10-19
  • 打赏
  • 举报
回复
实时系统吗?不然的话select超时设短一点不就得了?
lu_zi 2004-10-19
  • 打赏
  • 举报
回复
什么意思
keios 2004-10-18
  • 打赏
  • 举报
回复
select的socket中加入一个仅用于内部通信的 socket(两平台都可以), 管道(linux好像可以),
event(指在winsock中使用event模型),来达到中断的目的。
这应该是比较安全的方法。其他还有一些不安全的中断线程系统调用的方法,我就不说了。

18,355

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧