-
-
Save stableShip/afa2ec38eba40704e563 to your computer and use it in GitHub Desktop.
代码结构
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#代码组织 | |
---------- | |
主要包括: 后端服务器代码game-server和web-server. game-server是游戏socket服务端, 包括所有的游戏逻辑代码. web-server是游戏web服务器, 负责用户注册,第三方平台接入等相关逻辑. | |
除了这两部分之外, 还有一个公用的shared目录, 用来存放两者共用的代码和配置. | |
##game-server服务端代码分析 | |
![enter image description here](http://cdiip.img44.wal8.com/img44/515335_20150417100724/142923647751.png) | |
game-server根目录下的app.js是服务器代码的入口, 其他目录的功能如下: | |
* /app : 服务端js代码, 包括服务器代码和游戏逻辑代码. | |
* /config : 服务端配置文件. | |
* /logs : 服务器端运行时产生的日志文件. | |
###逻辑代码 | |
逻辑代码主要用来完成具体的业务逻辑, 如玩家的打牌逻辑,玩家管理,房间管理 | |
逻辑代码在/app/services目录下: | |
![enter image description here](http://cdiip.img44.wal8.com/img44/515335_20150417100724/142923678829.png) | |
* /landlordService : 提供斗地主打牌游戏服务只提供逻辑服务,不提供状态,逻辑所需状态由外界提供(room&player) | |
* /playerService : 对内提供player的管理,对外提供player相关服务. | |
* /area : 对内提供room的管理,对外提供room相关服务 | |
###服务器代码: | |
![enter image description here](http://cdiip.img44.wal8.com/img44/515335_20150417100724/142923686598.png) | |
服务器代码在/servers目录下, 通过规约的形式组织, 对外提供rpc接口, 处理客户端和服务端的请求并返回结果.服务端使用的服务器包括: | |
* /auth : 登录服务器, 用来验证用户登录信息 | |
* /connector: 连接服务器, 负责维护用户;连接, 接受用户数据, 并将服务端的广播数据推送给玩家 | |
* /hall : 大厅服务器,负责打牌逻辑 | |
##web-server代码架构 | |
web-server的页面端代码主要是提供必要的玩家信息与载体给客户端。负责加载客户端游戏本体。 | |
除此之外, web-server中还包括第三方平台的接入逻辑, | |
![enter image description here](http://cdiip.img44.wal8.com/img44/515335_20150417100724/14292364824.png) | |
* /config :web-server的相关配置文件 | |
* /lib : 逻辑代码 | |
* /logs : 日志文件夹 | |
* /public : 静态资源. | |
* /route : 路由. | |
* /service : 基础服务. | |
* /views : 页面文件. | |
* /app.js : web-server的初始化入口, 负责初始化web-server的逻辑代码. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment