Exemplo n.º 1
0
///网络读取消息回调函数
bool CWClientSocket::OnSocketReadEvent(NetMessageHead* pNetHead, void* pNetData, UINT uDataSize, CTCPClientSocket* pClientSocket)
{
	switch (pNetHead->bMainID)
	{
	case MDM_CONNECT:	///连接消息 
		{
			return OnConnect(pNetHead, pNetData, uDataSize, pClientSocket);
		}
	case MDM_GR_USER_LIST:
		{
			return OnGetUserList(pNetHead, pNetData, uDataSize, pClientSocket);
		}
	case MDM_GR_LOGON:
		{
			switch (pNetHead->bAssistantID)
			{
			case ASS_GR_LOGON_SUCCESS:
				{
					break;
				}
			case ASS_GR_LOGON_ERROR:
				{
					pClientSocket->CloseSocket(false);
					if (0 <= pNetHead->bAssistantID && pNetHead->bAssistantID <= 13)
						AfxMessageBox(LOGIN_ERR_STRING[pNetHead->bHandleCode]);
					else if (pNetHead->bAssistantID == 160 || pNetHead->bAssistantID == 161)
						AfxMessageBox(LOGIN_ERR_STRING[13 + pNetHead->bHandleCode - 160 + 1]);
					else 
						AfxMessageBox("未知错误!");
					break;
				}
			}
			break;
		}
	case MDM_GR_USER_ACTION:
		{
			return OnUserAction(pNetHead, pNetData, uDataSize, pClientSocket);
		}
	case MDM_GR_ROOM:
		{
			return OnRoomMsg(pNetHead, pNetData, uDataSize, pClientSocket);
		}
	case MDM_GR_DESK:
		{
			return OnLockMsg(pNetHead, pNetData, uDataSize, pClientSocket);
		}
	}
	return true;
}
Exemplo n.º 2
0
bool CModules::OnUserAction(CString& sTarget, CString& sMessage) { MODHALTCHK(OnUserAction(sTarget, sMessage)); }