消息传递分析
CM_QUERYCHR = 100; //登录成功,客户端显出左右角色的那一瞬
CM_NEWCHR = 101; //创建角色
CM_DELCHR = 102; //删除角色
CM_SELCHR = 103; //选择角色
CM_SELECTSERVER = 104; {选服务器,注意不是选区,盛大一区往往有(至多8个??group.dat中是这么写的)
不止一个的服务器}
CM_SOFTCLOSE //小退
CM_LOGINNOTICEOK//—M2
客户端(CM_SELECTSERVER–选区)–>LoginGate(7000)–>Loginsrv(SS_OPENSESSION)------->DBserver 创建Session
(SM_SELECTSERVER_OK)—>客户端(开门)
改变端口,连接selgate.exe(7100)
客户端(开门)–>客户端(CM_QUERYCHR)–>selgate.exe–>DBserver(SM_QUERYCHR)---->客户端选择人物,–>连接Rungate.exe(7200)
客户端(CM_SOFTCLOSE)–>M2(SM_OUTOFCONNECTION)–>超过人限,客户端下线
客户端小退->角色网关selgate.exe(7100)
CM_IDPASSWORD–发送密码
CM_SELECTSERVER–选区
CM_QUERYCHR–查询人物
CM_SELCHR–选择人物
loginGate:(ServerScork与客户端通讯)
nPos := Pos(‘*’, sReviceMsg);//接收客户端数据
mir2.exe
CSocket.Socket.SendText (‘#’ + IntToS