CSocket传输 怎样在服务器端判断客户端连接断开?

xymeng24 2006-04-28 03:16:19
我的程序中客户端向服务器端发送数据,服务器端一直在监听,每当收到一个客户请求时新开端口接收数据.问题:
1,怎样在服务器端判断客户端断开;
2,怎样关闭为客户端新开的端口.
...全文
494 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xymeng24 2006-04-29
  • 打赏
  • 举报
回复
还是不明白呀,哪位有具体的代码吗?
su47flying 2006-04-29
  • 打赏
  • 举报
回复
在Server 中添加一个OnClose(int nErrorCode)
就可以了。
aiyue2010 2006-04-29
  • 打赏
  • 举报
回复
服务器端的。
建立连接后你可以尝试关闭一端(调用close),另一端就会被动关闭。
自己测试一下就知道了
xymeng24 2006-04-29
  • 打赏
  • 举报
回复
是在
void CClientSocket::OnReceive(int nErrorCode)
{
CSocket::OnReceive(nErrorCode);
...........
}
中判断吗?
aiyue2010 2006-04-29
  • 打赏
  • 举报
回复
问题1:
客户端close后,服务器的recv函数会返回0。
问题2:
服务器listen到客户端的链接后通常都新建一个socket处理客户的连接,客户端close后,关闭这个socket就可以了。
guosenjuncs 2006-04-29
  • 打赏
  • 举报
回复
关注
xymeng24 2006-04-29
  • 打赏
  • 举报
回复
假如网断了,服务器端根本就不会收到呀,现在的问题是怎么在服务器端判断监听超时(客户端一直在发送数据)?
龙凤呈祥焱 2006-04-29
  • 打赏
  • 举报
回复
从客户端发送一个要求断开的信号.
xymeng24 2006-04-29
  • 打赏
  • 举报
回复
有没有高手啊?
xymeng24 2006-04-29
  • 打赏
  • 举报
回复
没有高手吗? sigh!
xymeng24 2006-04-28
  • 打赏
  • 举报
回复
有没有人有遇到过这样的问题呀? 特别是第一个.

18,356

社区成员

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

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