非连接模式的socket阻塞时间

oria2006 2008-04-24 05:51:18
我用socket接受对方发过来的UDP数据报,没有建立连接。我知道在阻塞模式下如果没有数据,会一直等下去。有没有方法,可以设置等待时间,当超时时就会退出这次接受。
...全文
53 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
WinEggDrop 2008-04-24
  • 打赏
  • 举报
回复
系统的Timer不是太准确,如果要求更准确的话,就要用Queue Timer或Media Timer,这两个准确性比较高,Queue Timer只有在windows 2000或以上系统才有效.
caixingxin 2008-04-24
  • 打赏
  • 举报
回复
用select模式方便一点~~
WinEggDrop 2008-04-24
  • 打赏
  • 举报
回复
使用系统的Timer(例如SetTimer()),设置个超时的时间,例如是5分钟.如果在5分钟内,接收到数据,将Timer注销(KillTimer()),再执行一次SetTimer设置5分钟超时;如果5分钟后没收到任何数据,Timer会被激活,那么你就能判断到是5分钟内没收到数据,然后断开连接.

18,356

社区成员

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

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