📄 clientsocket.cpp
字号:
// ClientSocket.cpp : 实现文件
//
#include "stdafx.h"
#include "ChatSrvr.h"
#include "ClientSocket.h"
#include "ChatSrvrDoc.h"
#include "msg.h"
/////////////////////////////////////////////////////////////////////////////
IMPLEMENT_DYNAMIC(CClientSocket, CSocket)
CClientSocket::CClientSocket(CChatSrvrDoc* pDoc)
{
m_pDoc = pDoc;
m_nMsgCount = 0;
m_pFile = NULL;
m_pArchiveIn = NULL;
m_pArchiveOut = NULL;
}
CClientSocket::~CClientSocket()
{
if (m_pArchiveOut != NULL)
delete m_pArchiveOut;
if (m_pArchiveIn != NULL)
delete m_pArchiveIn;
if (m_pFile != NULL)
delete m_pFile;
}
/////////////////////////////////////////////////////////////////////////////
//操作
void CClientSocket::Init()
{
m_pFile = new CSocketFile(this);
m_pArchiveIn = new CArchive(m_pFile,CArchive::load);
m_pArchiveOut = new CArchive(m_pFile,CArchive::store);
}
void CClientSocket::Abort()
{
if (m_pArchiveOut != NULL)
{
m_pArchiveOut->Abort();
delete m_pArchiveOut;
m_pArchiveOut = NULL;
}
}
void CClientSocket::SendMsg(CMsg* pMsg)
{
if (m_pArchiveOut != NULL)
{
pMsg->Serialize(*m_pArchiveOut);
m_pArchiveOut->Flush();
}
}
void CClientSocket::ReceiveMsg(CMsg* pMsg)
{
pMsg->Serialize(*m_pArchiveIn);
}
/////////////////////////////////////////////////////////////////////////////
//重写
void CClientSocket::OnReceive(int nErrorCode)
{
CSocket::OnReceive(nErrorCode);
m_pDoc->ProcessPendingRead(this);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -