有关winsock错误监测的问题

jienao 2000-06-02 01:23:00
本人写了一个C-S通信用应用软件,用到WINSOCK,客户端登录服务器端,如果(客)正常退出的话,可以触发CLOSE事件使服务器端作出响应反应,但如果是(客)异常断开,比如说直接把客户端关机,就没有触发CLOSE事件,不知道除了定时发送侦听信息之外还有什么方法能监测到类似的异常情况?
...全文
101 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sintony 2000-06-04
  • 打赏
  • 举报
回复
Socket关闭会有消息
用WSAAsyncSelect(m_Client->m_Socket/*与Client的socket连接 */,m_Client->m_hWnd/*处理消息的句柄*/,WM_CLIENT_CLOSE,FD_CLOSE);
这样Client断开时会有消息WM_CLIENT_CLOSE发生
这是你的处理就和其它消息一样了
比如:
ON_MESSAGE(WM_CLIENT_CLOSE,OnClientClose)

LRESULT CChatServerView::OnClientClose(WPARAM wParam, LPARAM lParam)
{
return 0L;
}
subzero 2000-06-03
  • 打赏
  • 举报
回复
可以参考IRC的协议
SERVER发送”PING“
CLIENT回应“PONG”
若无回应就是掉了

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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