codecamp

xingo代码结构

.
├── cluster                                 集群相关
│   ├── asyncresult.go                 rpc异步调用等待结果放回
│   ├── child.go                           集群子节点管理器
│   ├── clusterconf.go                  集群配置文件解析
│   ├── root.go                            未使用
│   ├── rpc.go                              json rpc实现
│   ├── rpchandle.go                    rpc消息处理逻辑
│   ├── rpcpack.go                       rpc消息序列化和反序列化
│   └── rpcprotocol.go                  rpc协议
├── clusterserver                         集群服务相关
│   ├── clusterglobal.go                集群全局变量
│   ├── clusterserver.go                集群服务
│   └── master.go                         集群管理服务
├── fnet                                      底层网络相关
│   ├── connection.go                   网络链接抽象
│   ├── connectionmgr.go              链接管理
│   ├── datapack.go                      序列化和反序列化
│   ├── msghandle.go                   网络数据包处理,消息路由
│   ├── protocol.go                       默认通信协议实现
│   └── tcpclient.go                      一个基于事件驱动的tcp客户端
├── fserver
│   └── server.go                          xingo 服务器抽象
├── iface                                     接口描述目录
│   ├── iclient.go
│   ├── iconnection.go
│   ├── iprotocol.go
│   ├── iserver.go
│   └── iwriter.go
├── LICENSE
├── logger
│   ├── logger.go                           日志实现
│   └── logger_test.go
├── README.md
├── sys_rpc                                  系统的rpc通信
│   ├── child_rpc.go                       子节点rpc
│   ├── master_rpc.go                    管理节点rpc
│   └── root_rpc.go                        父节点rpc
├── timer
│   └── timer.go                             定时器实现
└── utils
    ├── globalobj.go                         全局变量,用于配置游戏服务器相关定制逻辑
    └── tools.go                               工具函数
xingo安装
xingo 单进程服务器入门教程
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }