CAsyncSocket 服务端Close问题

panzhijiepanzhiyang 2010-08-21 10:25:35
void CNetControl::OnAccept(int nErrorcode){
CMobileUser *psocket=new CMobileUser();
if (Accept(*psocket))
{

}
else{
//AfxMessageBox("sfasdf连接失败");
//AfxMessageBox("某人连接失败");
}
CMobileUser是我自定义的一个类基类是CAsyncSocket类
里面有我自定义的数据成员
但是当客户端断开连接的时候,我如何在客户连接中断的时候完全释放它占有的内存
...全文
123 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
void CNetControl::OnAccept(int nErrorcode){
CMobileUser *psocket=new CMobileUser();
if (Accept(*psocket))
{

}
else{
//AfxMessageBox("sfasdf连接失败");
//AfxMessageBox("某人连接失败");
}
CNetControl是服务器
然后psocket是用来存储客户端连接的
触发的是不是psocket中的OnClose消息
mudunke775 2010-08-21
  • 打赏
  • 举报
回复
OnClose就是断开时的消息
  • 打赏
  • 举报
回复
如果不存的话有没有办法呢
还有就是在在OnClose里能截获断开连接的消息吗
悟迟 2010-08-21
  • 打赏
  • 举报
回复
或者看看这个
http://download.csdn.net/source/2605797
嘿嘿
悟迟 2010-08-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 arong1234 的回复:]

你当然new完就算了,你需要创建一个数据结构(如链表)保存这些被你new出来的对象.当对象被close时,把他们从链表中取出并删除
[/Quote]对的,你要记录这些new出来的对象,当这个链接断开的时候要delete,1楼2楼已经给出思路鸟,我凑个热闹
oyljerry 2010-08-21
  • 打赏
  • 举报
回复
CMobileUser 对象放到一个list,然后释放的时候遍历list,一个个delete释放
arong1234 2010-08-21
  • 打赏
  • 举报
回复
你当然new完就算了,你需要创建一个数据结构(如链表)保存这些被你new出来的对象.当对象被close时,把他们从链表中取出并删除
  • 打赏
  • 举报
回复
因为是new的所以非常担心
当连接中断却不释放
服务器一直开启的时候,系统会塌掉
用Close行吗
  • 打赏
  • 举报
回复
我测试
delete之后为什么出错

18,356

社区成员

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

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