Go开发H5游戏服务器端框架.pdf
Go开发
H5游戏服务器端
⽂科@环信
2016.09.24
游戏⾏业经历
• 2010-12年 2款⻚游 js + python + php
• 2013-14年棋牌类⼿游 Cocos2d-x(c++) + go
• 2015-16年 H5游戏平台和2款H5游戏 Cocos2d-js + go
为什么选择Go
• 游戏性质:
• 强联⽹实时战⽃⾼并发
• 其他语⾔:
• Php,Python,C++
• Java,Lua,Erlang
游戏演示
游戏系统
• 奖励邮件好友排⾏签到新⼿引导
• 贵族商店⻋库道具改装充值
• 单机赛:猎⾦场闯关场探险场
• 联⽹赛:对抗赛⽣死赛 BOSS赛
1. 数据包
2. 通信协议
3. 联⽹纠偏
4. 服务器端AI
5. ⼯具链
1. 数据包
2字节数据包⻓度+2字节事件类型+20字节校验码+json字符串
[48 44 52 49 44 48 44 49 52 44 53 50 44 49 54 48 44 49 57 55 44 49 55 53 44 49 48 44 50 48 52 44 50 49 50 44
50 53 53 44 49 50 44 50 51 50 44 49 50 57 44 54 48 44 50 51 49 44 49 54 44 53 53 44 56 56 44 49 53 51 44 56
49 44 49 54 54 44 56 51 44 57 49 44 51 52 44 52 57 44 53 50 44 53 53 44 53 50 44 53 52 44 53 50 44 53 53 44
53 50 44 52 56 44 53 50 44 52 56 44 52 57 44 53 48 44 51 52 44 57 51]
I0924 00:17:29.789037 60324 client.go:132] Receive:0xc4200a6000 2 9 14-PLAYER_CHANGE_NICKNAME
["1474647404012"]
fmt.Printf("%v\n", buf)
2. 通信协议
同时⽀持Tcp Socket,WebSocket,Http⻓轮询
3. 联⽹纠偏
4. 服务器端AI
5. ⼯具链
策划数值表->服务器端json->客户端json
Go的优势
• gofmt
• goroutine chanel
• 抽象接⼝类型鸭⼦类型
• 标准库完美⽀持字节流和字符
• 多核多线程
• 语法简单代码逻辑可读性强开发效率⾼
• H5游戏开发的架构总结(⼀) 客户端
/wk3368/article/details
• H5游戏开发的架构总结(⼆) 服务器端
/wk3368/article/details
谢谢⼤家
新浪微博 天空wk3368
微信 wk3368