多多游戏登录服务器模块设计.doc

上传人:汽*** 文档编号:560488718 上传时间:2023-05-24 格式:DOC 页数:22 大小:371.01KB
返回 下载 相关 举报
多多游戏登录服务器模块设计.doc_第1页
第1页 / 共22页
多多游戏登录服务器模块设计.doc_第2页
第2页 / 共22页
多多游戏登录服务器模块设计.doc_第3页
第3页 / 共22页
多多游戏登录服务器模块设计.doc_第4页
第4页 / 共22页
多多游戏登录服务器模块设计.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《多多游戏登录服务器模块设计.doc》由会员分享,可在线阅读,更多相关《多多游戏登录服务器模块设计.doc(22页珍藏版)》请在金锄头文库上搜索。

1、多多游戏,服务器模块设计报告多多游戏登录服务器模块设计报告文件状态: 草稿 正式发布 正在修改文件标识:KBT-DD-SERVER-MODULE当前版本:1.0作 者:我完成日期:深圳凯比特网络技术有限公司版 本 历 史版本/状态作者参与者起止日期备注1.0我8.319.1 目 录 0. 文档介绍50.1 文档目的50.2 文档范围50.3 读者对象50.4 参考文献50.5 术语与缩写解释51. 模块命名规则62. 模块汇总62.1 模块汇总表62.2 模块关系图63. 五子棋服务器模块设计73.1 CSocketServer : public CAsyncSocket73.1.1 功能描述

2、73.1.2接口与属性73.1.3数据结构与算法73.1.4补充说明73.2 class CSocketClient : public CAsyncSocket73.2.1 功能描述73.2.2接口与属性73.2.3数据结构与算法123.2.4补充说明133.3 CDeskInfo133.3.1 功能描述133.3.2接口与属性133.3.3数据结构与算法153.3.4补充说明163.4 CGameRoom163.4.1 功能描述163.4.2接口与属性163.4.3数据结构与算法173.4.4补充说明173.5 class CHyperLink : public CStatic173.6 c

3、lass CMD5Checksum173.7 class CServerApp : public CWinApp173.8 class CServerDlg : public CDialog173.1.1 功能描述173.1.2接口与属性173.9 class CUserInfo183.9.1 功能描述183.9.2接口与属性183.9.3数据结构与算法193.9.4补充说明193.10 class CVarInfo193.10.1 功能描述193.10.2接口与属性193.10.3数据结构与算法203.10.4补充说明203.11 全局204. 五子棋数据库操作模块设计215. 其他220.

4、 文档介绍0.1 文档目的0.2 文档范围0.3 读者对象0.4 参考文献提示:列出本文档的所有参考文献(可以是非正式出版物),格式如下:标识符 作者,文献名称,出版单位(或归属单位),日期0.5 术语与缩写解释缩写、术语解 释1. 模块命名规则提示:模块设计人员确定本软件的模块命名规则(例如类、函数、变量等),确保模块设计文档的风格与代码的风格保持一致。可以从机构的编程规范中摘取或引用(如果存在的话)。2. 模块汇总2.1 模块汇总表提示:这里模块是指相对独立的软件设计单元,例如对象类、函数包等等。子系统A模块名称功能简述子系统B模块名称功能简述2.2 模块关系图提示:参考体系结构设计文档3

5、. 登录服务器模块设计3.1 CSocketServer : public CAsyncSocket3.1.1 功能描述服务器侦听Socket3.1.2接口与属性1. int OnCount():检查玩家是否掉线(多少秒没有信息)或是已经被删除了,返回在线数2. virtual void OnAccept(int nErrorCode)接收连接,一旦连接则把连接Client Socket加入到列表3. CSocketServer( /*CDialog *pDlg*/ );4. virtual CSocketServer(); 清楚列表中的数据 5. CListm_listSocket客户端So

6、cket列表指针3.1.3数据结构与算法定时运行OnCount,用于清除断线的和统计人数3.1.4补充说明3.2 class CSocketClient : public CAsyncSocket3.2.1 功能描述客户端连接Socket处理3.2.2接口与属性1. BOOL m_bDel;是否该用户已删除2. long m_nTimer;定时器3. CSocketClient();成员变量初始化4. virtual CSocketClient();5. void SendCmd(CString &strCmd);将数据strCmd发送出去6. void SendCmd( char* szCm

7、d );将数据szCmd发送出去7. static BOOL OnGetGameInfo();取游戏列表信息8. static void Destory();销毁游戏房间9. static BOOL Init();创建并初始化游戏房间10. static CGameRoom* m_pGameRoom;游戏房间指针11. static CString m_strServerInfo;服务器名称命令协议内容m_strServerInfo = SSI:多多游戏|http:/ static CString m_strDLLFileName;DLL文件全名13. static CString Decod

8、e(CString& str);字符串解码参数:CString& str :返回解码后字符串返回:解码后字符串14. static CDatabasem_db; 数据库15. static void LogError(char *szErrorMsg);错误记录到日志参数:char* 错误内容返回:空16. virtual void OnClose(int nErrorCode);Socket关闭的处理17. virtual void OnReceive(int nErrorCode);数据接收并调用处理18. virtual void OnSend(int nErrorCode);数据发送1

9、9. void OnCmdLargessMoney(CString& strLine);参数:CString :包含对方用户ID和银两数目赠送银两条件:l 离开桌子l 银两要够l 对方必须在线然后广播系统信息发添加用户信息给GameRoom-在发给桌子?已经离开桌子了呀20. void OnStartGame( CDeskInfo& DeskInfo, int nDesk );参数:1、 返回桌子信息 CDeskInfo2、 Int 桌子号发送玩家状态、桌子状态给Room发送游戏开始给桌子21. void OnCmdRequestJoin(CString& strLine);参数:CStrin

10、g 用户ID邀请加入22. void OnCmdAgreeRepent(CString& strLine);参数 CString =0:玩家对悔棋请求的回复23. void OnCmdRequestRepent(CString& strLine);参数:CString 悔棋的手数玩家请求悔棋24. void CheckDeskBreakStatus();检查桌上玩家断线状态,如果双方断线,则按和棋处理。25. void SaveUserInfo( CUserInfo* ppUsers );保存用户信息到数据库参数:CUserInfo* 为当前桌玩家的数据指针的指针26. void OnCmdT

11、estTimer();检查时间,是超时判负还是断线时间太长强行退出,或者正常当前是断线,判断是否应该强退当前在线玩,判断是否超时判负27. void OnCmdLoss();中盘认输28. void OnCmdJin(CString& strLine);禁手判断判断是否对方下出禁手而输29. void OnCmdSwap();申请交换30. void OnCmdWin(CString& strLine);申请获胜参数:棋子坐标31. void OnCmdGo(CString& strLine);走子参数:CString 手数|坐标X|坐标Y对走子进行逻辑判断32. void OnEndGame

12、(int nWinState, CUserInfo* pUserInfo, CString strPrompt);结束游戏参数:Int nWinState:赢棋状态 1:0:-1 赢:和:负CUserInfo* pUserInfo:玩家CString strPrompt:提示给桌子的信息返回:空保存用户信息发送结束信息给本桌如果桌子游戏状态为在玩:发送状态给所有人,发送状态给本桌如果桌子游戏状态为断线:发送离开的提示发送改变大厅桌子的状态给Room33. void OnCmdSetStartStatus();处理命令: 开始状态判断开始的条件设置为开始状态-判断是否开始游戏34. void O

13、nCmdSetAccord(CString& strLine);约定参数:CString 约定数据35. void OnCmdSit();坐下判断位置是否合法从观看者列表中删除-发送给大厅位置状态-发送自己的状态给本桌玩家36. void OnCmdExitGame(CString& strLine);参数:未用强行退出游戏37. void OnCmdJoinGame(CString& strLine);加入一个游戏参数:CString 用户ID|Session38. void OnCmdSetDeskSetup(CString& strLine);设置桌子设置39. void OnCmdSa

14、y(CString& str);聊天40. void OnExit(CUserInfo* pUserInfo);用户退出41. void OnCmdJoinGameDesk(CString& strLine);玩家加入一个桌子参数:l 1:命令 0:观看 其余:坐下l 2:桌子号l 3:座位号42. void OnCmdGetServerInfo();取服务器信息发送服务器信息发送当前桌的状态发送自己的状态给所有本桌的人43. long OnLogin(CString &strUser, CString &strPasswd, CString &strIP);用户登录参数:l strUser用户

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号