同步操作将从 BossHX/xingo 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
高性能golang网络库,游戏开发脚手架
默认通信协议如下(支持自定义协议处理部分代码,支持灵活的重载协议部分代码):
Len uint32 数据Data部分长度
MsgId uint32 消息号
Data []byte 数据
消息默认通过google 的protobuf进行序列化
服务器全局配置对象为GlobalObject,支持的配置选项及默认值如下:
TcpPort: 8109,//服务器监听端口
MaxConn: 12000,//支持最大链接数
LogPath: "./log",//日志文件路径
LogName: "server.log",//日志文件名
MaxLogNum: 10,//最大日志数
MaxFileSize: 100,//per日志文件大小
LogFileUnit: logger.KB,//日志文件大小对应单位
LogLevel: logger.ERROR,//日志级别
SetToConsole: true,//是否输出到console
PoolSize: 10,//api接口工作线程数量
IsUsePool: true,//是否使用worker pool false 每个请求开启单独的协程处理
MaxWorkerLen: 1024 * 2,//任务缓冲池大小
MaxSendChanLen: 1024,//发送队列从缓冲池
FrameSpeed: 30,//未使用
OnConnectioned: func(fconn iface.Iconnection) {},//链接建立事件回调
OnClosed: func(fconn iface.Iconnection) {},//链接断开事件回调
如何使用?
只需要一步,添加消息路由:
s := fserver.NewServer()
//add api ---------------start
FightingRouterObj := &api.FightingRouter{}
s.AddRouter(FightingRouterObj)
//add api ---------------end
xingo会自动注册FightingRouter中的方法处理对应消息
例如:msgId =1 则会寻找FightingRouter中的Func_1的方法从进行处理
具体使用请参考项目(也是xingo的demo(帧同步服务器)):
https://github.com/viphxin/fighting
mmo demo: https://git.oschina.net/viphxin/xingo_demo
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。