UDP socket recvfrom

sparrow429 2010-09-01 04:10:03
recvfrom,一直在接受数据,但是当没有数据的时候,程序就停在recvfrom的地方,
请问我如何能跳出recvfrom?用closesocket好像也不行
...全文
301 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Onsunsl 2011-07-16
  • 打赏
  • 举报
回复
用非阻塞会不会丢数据?
Eleven 2010-09-02
  • 打赏
  • 举报
回复
用非阻塞啊
lijianli9 2010-09-02
  • 打赏
  • 举报
回复
lz在干吗,自己动脑子思考下,
既然是阻塞了,肯定无法返回的呀,你可以用select侦测到有数据再recv呀,或者干脆用非阻塞的,
向立天 2010-09-02
  • 打赏
  • 举报
回复
这个帖子我给你转到网络编程
sparrow429 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fishion 的回复:]
TerminateThread也不行?
[/Quote]
这个是强制关闭,不是说最好不要用这个嘛,让线程自动退出
sparrow429 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ffvsff 的回复:]
就应该设置成非阻塞状态,方法百度一下
[/Quote]

用ioctlsocket可以设成非阻塞状态
sparrow429 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hurryboylqs 的回复:]
不可救药
[/Quote]

...呵呵
ffvsff 2010-09-01
  • 打赏
  • 举报
回复
就应该设置成非阻塞状态,方法百度一下
fishion 2010-09-01
  • 打赏
  • 举报
回复
TerminateThread也不行?
hurryboylqs 2010-09-01
  • 打赏
  • 举报
回复
不可救药
sparrow429 2010-09-01
  • 打赏
  • 举报
回复
我是在另一个线程中recvfrom的,我就是想知道,如何在堵塞了之后,跳出recvfrom?关闭线程好像也不行哦..
hurryboylqs 2010-09-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sparrow429 的回复:]

堵在recvfrom之后,应该不能用select吧...
[/Quote]

recvfrom之前select啊,唉
有数据来再recvfrom
sparrow429 2010-09-01
  • 打赏
  • 举报
回复
堵在recvfrom之后,应该不能用select吧...
hurryboylqs 2010-09-01
  • 打赏
  • 举报
回复
用select来检测有没数据
没的话休眠一下再检测
这样可以有个机会退出

18,356

社区成员

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

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