在TCP中如何让accept函数也能返回超时?

fenex 2003-10-30 01:03:20
用如下方法不行:
int nTimeOut = 1000;
setsockopt(sockAccept, SOL_SOCKET, SO_RCVTIMEO, (char *)&nTimeOut, sizeof(nTimeOut));
// ...
sockNew = accept(sockAccept, (struct sockaddr *)&addrRemote, &nAddrSize);

...全文
272 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fenex 2003-11-02
  • 打赏
  • 举报
回复
谢谢!
我现在就是这样做的。
bluebohe 2003-11-01
  • 打赏
  • 举报
回复
建议你在其他线程中CancelBlockingCall掉这个Accept
fenex 2003-11-01
  • 打赏
  • 举报
回复
没人知道吗?
fenex 2003-10-30
  • 打赏
  • 举报
回复
select 只能返回指定socket的状态,如果select返回超时如何处理比较好呢?
我现在是用closesocket关闭它,accept就会返回了,不知有什么更好的方法?
xiao_potato 2003-10-30
  • 打赏
  • 举报
回复
setsockopt(sockAccept, SOL_SOCKET, SO_RCVTIMEO, (char *)&nTimeOut, sizeof(nTimeOut));//设置Recv/Recvfrom接收超时吧

用select可以实现

sevencat 2003-10-30
  • 打赏
  • 举报
回复
accept对此调用无用。

用select试试看。

18,363

社区成员

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

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