关于Accept的问题

freebird_top 2005-04-21 01:51:12
请问:
一般情况下,我们开一线程来监听客户端的连接。我们应该怎样退出该线程。因为Accept是阻塞的。
...全文
107 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnwolf 2005-04-21
  • 打赏
  • 举报
回复
while(flag)
{
select();

accept();
}

线程不会阻塞,退出时,flag = false

就是所谓的非阻塞
ewing1203 2005-04-21
  • 打赏
  • 举报
回复
5分少了点,不过也得回,什么jijiachuan(流口水) 简直答非所问,用非阻塞还跑这里问问题干什么,不过建议楼主以后最好给20分的帖子。

用一个线程监听,这是基本网络程序制作的方法,非常的不错,可以用AfxEndThread函数关闭相关的线程。你进行监听,有个进行网络连接的listen sock,你直接关闭它也可以。
Caps77 2005-04-21
  • 打赏
  • 举报
回复
closesocket(m_listensocket)
shutsocket(m_listensocket)

线程会退出

线程再启动的时候需要重新创建,重新监听
jijiachuan 2005-04-21
  • 打赏
  • 举报
回复
你也可以使用非阻塞式模式来作啊
younggle 2005-04-21
  • 打赏
  • 举报
回复
可以在退出程序的时候,自己连接一下,以便让 Accept 执行下去。然后就可以控制退出了。

18,356

社区成员

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

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