recv的超时问题

whodewho 2009-09-18 10:28:38
int nNetTimeout=1000;//1秒
//设置接收超时
setsockopt(csocks[i],SOL_SOCKET,SO_RCVTIMEO,(char *)&nNetTimeout,sizeof(int));
...
...
...
s=recv(dlg->csocks[n],dlg->buff[n],100,MSG_WAITALL);
防超时,为了跳过recv执行下面的语句,防阻塞
但是,无法达到效果
请诸位多提宝贵意见
...全文
126 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
whodewho 2009-09-19
  • 打赏
  • 举报
回复
setsockopt的位置不正确,在初始化时csock【i】都是无效套接字
感谢关注,分不多,散了
WaistCoat16 2009-09-18
  • 打赏
  • 举报
回复
检查setsockopt返回值看是否设置成功?
whodewho 2009-09-18
  • 打赏
  • 举报
回复
是同一个,前一个是初始化时调用的,后一个是接收时调用的
setsockopt需要判断成功?我来试试。
xylicon 2009-09-18
  • 打赏
  • 举报
回复
setsockopt 设置成功了吗?
dlg->csocks[n] 与上面的 csocks[i] 是同一个socket?
whodewho 2009-09-18
  • 打赏
  • 举报
回复
自己抬一下下

18,356

社区成员

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

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