ResultCode CNetCenter::SendServer( const CMessage &helper ) { if (!m_isConnected) { _ConnectServer(); } CMessage2Pack packer; int len; packer.GetPackSize(&helper, len); CBufferMessage buffer; buffer.Alloc(len); packer.PackMessage(&helper, buffer); m_serverSocket.Send(buffer.GetBuffer(),len); return Result_Success; }
void CNetCenter::OnReceive( int nErrorCode,CAsyncSocketEx* pSock ) { Global->PtrAssert(pSock); CBufferMessage buffer; buffer.Alloc(1024); int length = pSock->Receive(buffer.GetBuffer(),1024); Global->Logf(LogFile_Net,_T("OnReceive, size:%d\n"),length); CMessage2Parser parser; CMessage msg(parser.GetMsgType(buffer)); if (parser.Parser(&msg, buffer) == MsgStatus_Ok) { _DispatchMessage(msg); } }