TCP连接中客户端如何安全关闭?

barrylau 2003-01-14 04:23:19
用TCP连接,客户端突然关闭,如断电,或其它情况,如何令服务端把相应连接关闭?
...全文
145 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kenryHuang 2003-01-14
  • 打赏
  • 举报
回复
设置KEEPLIVE会有什么效果?能检测到物理中断?
bluecrest 2003-01-14
  • 打赏
  • 举报
回复
发空包或者KEEPLIVE
icelight 2003-01-14
  • 打赏
  • 举报
回复
连接在物理上被中断是不会产生ON_CLOSE的。

到目前为止我还没找到比定时检测对方存在更好的方法来回收服务器资源。
barrylau 2003-01-14
  • 打赏
  • 举报
回复
我试过setsockopt,把KEEPALIVE的值设为TRUE,但不管用,我故意把客户端恶意关闭,但没有产生ON_CLOSE事件
jspring 2003-01-14
  • 打赏
  • 举报
回复
用setsockopt函数,里面有SO_KEEPALIVE参数。如
BOOL bAlive = TRUE;
setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, (const char *)&bAlive, sizeof(bAlive));
yanhuahui 2003-01-14
  • 打赏
  • 举报
回复
通讯断开会产生ON_CLOSE事件,根据这个事件令服务端把相应连接关闭
pppma 2003-01-14
  • 打赏
  • 举报
回复
lichungen(阿根):可否说详细点?
lichungen 2003-01-14
  • 打赏
  • 举报
回复
设置KEEPALIVE的参数值
barrylau 2003-01-14
  • 打赏
  • 举报
回复
这方法我知道,还有没有其它方法
phalcon 2003-01-14
  • 打赏
  • 举报
回复
服务器和客户端在连接空闲时互发信息 确保连接还在 如果发出去却收不到回应达到一定次数时主动中止连接

18,356

社区成员

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

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