csocket服务端死亡 csocket服务器发送消息给客服端时,如果客服端提前异常结束,服务端程序会死,怎么解决啊?心跳包如果设置为10秒,那也不能保证在10秒内客服端没有异常结束。最主要服务端会报错结束报错内容:0x5417521指令引用0xdddddddddf1内存.该内存不能为read 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 void CSessionSocket::SendMsg(CMsg *pMsg){ if (m_pArchiveOut != NULL) { TRY { pMsg->Serialize(*m_pArchiveOut);//如果远程程序意外死亡。就在这句报错。请问怎么解决? m_pArchiveOut->Flush(); } CATCH (CMemoryException, e)//(CFileException, e) { m_pArchiveOut->Abort(); delete m_pArchiveOut; m_pArchiveOut = NULL; } END_CATCH } else { //对方关闭了连接 AfxMessageBox("对方关闭了连接"); }} 是不是哪里将pMsg删除了?这个问题是指针管理的问题,与网络无关。 远程电脑用任务管理器关闭程序,本地电脑CSocket类重载OnClose函数,可以捕获关闭消息。然后删除这个socket,更新界面就可以了。感觉是远程的CArchive没有了导致报错。至于怎么解决或者说万一别人是断网了就没有OnClose消息那又怎么办就不知道了。_AFX_INLINE BOOL CArchive::IsStoring() const { return (m_nMode & CArchive::load) == 0; } 最后报错的地点。 对话框背景图片之上另外一张图片无法显示的问题 鼠标消息不响应 socket在非阻塞的情况下,是否需要这样做呢 CRichEditCtrl 有没有屏蔽光标的属性 请问大家都在用哪个版的vc!!!随便请教点小问题 CObject类里面的那个Dump是干什么的? 哪位有Xtreme Toolkit类库中(最新版)的CTabView.cpp的文件 StretchBlt的问题,谁帮忙看看? 如何使用Kodak imgthumbnail控件 typedef和#define有什么区别? 用FindFirstFile()函数为什么找不到文件? vc++如何调用C++BUIDER 写的DLL
{
if (m_pArchiveOut != NULL)
{
TRY
{
pMsg->Serialize(*m_pArchiveOut);//如果远程程序意外死亡。就在这句报错。请问怎么解决?
m_pArchiveOut->Flush();
}
CATCH (CMemoryException, e)//(CFileException, e)
{
m_pArchiveOut->Abort();
delete m_pArchiveOut;
m_pArchiveOut = NULL;
}
END_CATCH
}
else
{
//对方关闭了连接
AfxMessageBox("对方关闭了连接");
}
}
这个问题是指针管理的问题,与网络无关。
{ return (m_nMode & CArchive::load) == 0; }
最后报错的地点。