CSocket服务器端判断连接断开的问题

vcstar80 2004-05-11 06:02:01
我在用CSocket写一个服务器端和客户端通信的程序。采用短连接,由客户端主动断开,我如何在服务器端判断客户端已经断开,并且释放连接?
...全文
146 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
月吻长河 2004-06-19
  • 打赏
  • 举报
回复
没人能回答吗?
月吻长河 2004-06-19
  • 打赏
  • 举报
回复
C/S已经建立了Socket连接,拔掉网线会导致Socket连接断开吗?
如果会断开,怎么检测??????????????
月吻长河 2004-06-19
  • 打赏
  • 举报
回复
我也遇到这个问题了
madhappy 2004-05-13
  • 打赏
  • 举报
回复
因为mfc的CSocket类使用的是wsaasynselect I/O处理机制。断开连接,接受发送都是通过消息传送的,缺点是最大处理64个连接。所以根据你的需要,来选择使用合适的网络I/O模型
madhappy 2004-05-13
  • 打赏
  • 举报
回复
自定义你的CSocket子类。

然后响应OnClose消息
void ClientSocket::OnClose(int nErrorCode)
{
// TODO: Add your specialized code here and/or call the base class
this->Finish_Comm(); //释放连接的函数,或者相关代码
CSocket::OnClose(nErrorCode);
}
fzd999 2004-05-12
  • 打赏
  • 举报
回复
你使用的什么通讯模型?

如果是Select/TCP系列的,可以直接通过返回值判断,如果是其他的,可以用主被控端定时汇报机制来判断对方是否在线。
LuWei103 2004-05-11
  • 打赏
  • 举报
回复
int err = ::recv(socketRecData, (char *)&myfileInfo, sizeof(FILEINFO), 0);

if((err == SOCKET_ERROR) || (err == 0)
{
// 网络连接断开
}

18,363

社区成员

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

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