Socket问题, 高手请进!!

YANGJB 2002-02-19 11:20:10
我用的是阻塞式的流式Socket(TCP,Sdk)。假设Server分别和其他的多个Client建立了连接。
当其中的某个Client正常的关闭。在Server端,我如何知道是哪个连接断开了呢。
...全文
105 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
szzy 2002-04-16
  • 打赏
  • 举报
回复
这个很容易,只检查连结标志就可以了。你这只是正常情况下的关断,如果不正常关断,还得好好考虑。
realdreamer 2002-04-16
  • 打赏
  • 举报
回复
一般服务器的工作流程大概如下:

1 一个 SOCKET 监听客户请求
2 客户连接到来,根据访问安全性决定是否接受连接
3 接受连接,返回一个连接了的 SOCKET 句柄
4 创建线程,或从已有的线程池中派遣一线程处理这个请求
5 回到第一步

而服务器端接受了连接的套接字如何关闭连接, 那就取决于为处理客户连接而创建的线程如何工作了!
YANGJB 2002-02-19
  • 打赏
  • 举报
回复
楼上的,我怎么知道在什么时侯来设置断开标志呢?
sobingman 2002-02-19
  • 打赏
  • 举报
回复
我的经验是,坚持!先做照猫画虎的,再慢慢做有创意的!
sobingman 2002-02-19
  • 打赏
  • 举报
回复
如果是阻塞式,那你一定用的是多线程,你可以在起动线程时记录线程的句柄。然后,查询这些线程是否退出了,哪个退出哪个就结束了(正不正常,可看线程返回值)
shesh 2002-02-19
  • 打赏
  • 举报
回复
这好办啊,在每个连接建立的时候带个标志啊.
或者判断每个NEW的连接SOCKET的指针也可以.
zjf_fly 2002-02-19
  • 打赏
  • 举报
回复
当socket断开时,它的函数调用就会返回类似的错误,你探测此错误后,设置标志,然后退出线程!

1,649

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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