sendmsg 只是把该消息加入到m_MsgList这个列表里面
举例 SendMsg(m_Master, RM_QUERYHEROBAGCOUNT, 0, m_nItemBagCount, 0, 0, '');
当TPlayObject.Run或者TBaseObject.Run执行的时候通过Operate(@ProcessMsg)函数来解析m_MsgList里的每一个消息.例如:
RM_EXCHANGEGAMEGIRD_FAIL:
begin//兑换灵符失败 20080730
nCode := 286;
m_DefMsg := MakeDefaultMsg(SM_EXCHANGEGAMEGIRD_FAIL, 0, 0, 0, 0, 0);
SendSocket(@m_DefMsg, EncodeString(ProcessMsg.sMsg));
end;
这里MakeDefaultMsg函数组包的代号才是发给客户端的代号.