大家的client退出策略是怎么的?(IOCP)

CPP2008 2006-07-14 11:22:59
1 一般是怎么安排退出?是否一般都是client A主动请求退出,然后服务器转发client A的退出,所有client同步更新client A。

2 还是server直接删除 client A,然后转发给所有的client,实现 client A 的退出同步更新?

大家是怎么个决策的?
谢谢回复。
...全文
318 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
maijian 2006-07-17
  • 打赏
  • 举报
回复
比较简单的是在你的Server里面设置一个Timer消息就可以啦,如果你不清楚Timer的话,可以自己上网找找相关的资料.
xiaomailovelvping 2006-07-16
  • 打赏
  • 举报
回复
轮询检查连接列表的方法是什么呀
小弟对网络编程知道的不多,希望各位大哥予以指点,在此感激不尽,希望把代码粘过来,谢谢了
jacklzw88 2006-07-14
  • 打赏
  • 举报
回复
看连接的长短而定
DentistryDoctor 2006-07-14
  • 打赏
  • 举报
回复
向IOCP发一个特殊的Per IO Context or Per Handle Context
周江涛 2006-07-14
  • 打赏
  • 举报
回复
楼上说的对,第二种方法就是服务器端轮询检查连接列表,这种办法既可以在应用层实现,也可在协议栈实现。
maijian 2006-07-14
  • 打赏
  • 举报
回复
主要有两种情况:
1.Client正常关闭,这样Server会收到CLOSE的消息,这是socket自动实现的,Server端只要处理这个关闭连接的消息就行了

2.第二种情况是Client非正常关闭,这样的话Server就会收不到关闭连接的消息,这样的话,就需要在维护Client的列表中设置一些可以判断连接时间,或者传输数据大小等等地消息,可以判断一个连接在一段时间内有没有数据传输,或者在Server定时地去检测每一个连接是否还处于连接状态
Practise_Think 2006-07-14
  • 打赏
  • 举报
回复
我的做法是,CLIENT发出退出请求包后收到确认包就主动CLOSE,在SERVER得知CLIENT CLOSE或发出确认退出包后就删除该CLIENT
CPP2008 2006-07-14
  • 打赏
  • 举报
回复
to jacklzw88:

如果是长连接,怎么定?
如果是短连接,怎么定?

18,356

社区成员

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

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