- 授权协议: MIT
- 开发语言: Google Go
- 操作系统: 跨平台
- 软件首页: https://github.com/xtaci/gonet
- 软件文档: https://github.com/xtaci/gonet
软件介绍
A game server skeleton implemented with golang.
部署:
Game Server(GS):
玩家直接连接GS, 处理玩家逻辑,并与 HUB/SS 通信,GS存在若干个。Hub Server(HUB):
若干个GS 连接到一个HUB, 只存在一个HUB,维护基础的全局信息,以及 GS<--->GS 的消息转发.Stats Server(SS):
统计服务器,根据玩家的行为,记录策划需要的数据,以便于后期统计。
统计属于事后分析,数据量较大,性能需求不同, 故单独列为一个服务器。
通信原则:
GS到HUB/SS的通信,都是Call同步调用,即GS必须等待ACK。
HUB到GS的通信,只有forward数据包。
单播消息在玩家离线时会存入db, 登录后的启动过程 GS 直接读取db,并forward给玩家goroutine。(持久化)
多播消息会发送给所有的在线玩家(非持久化)
广播消息会发送给所有的在线玩家(非持久化)
服务器状态一致性
GS节点可以单独重启
HUB 重启后,GS必须全部重启
SS 可随意重启,不影响业务
安装先决条件:
确保安装好bzr, graphviz, gawk
确保安装好mongodb
确保config.ini中的mongo_xxxx配置正确
export GOPATH='当前目录'
安装:
xtaci@ubuntu:~$ git clone https://github.com/xtaci/gonet
xtaci@ubuntu:~$ cd gonet
xtaci@ubuntu:~/gonet$ export GOPATH=~/gonet
xtaci@ubuntu:~/gonet$ go get labix.org/v2/mgo
xtaci@ubuntu:~/gonet$ make
xtaci@ubuntu:~/gonet$ ./start-test.sh
OpenCV3编程入门
毛星云 / 电子工业出版社 / 2015-2 / 79
OpenCV在计算机视觉领域扮演着重要的角色。作为一个基于开源发行的跨平台计算机视觉库,OpenCV实现了图像处理和计算机视觉方面的很多通用算法。本书以当前最新版本的OpenCV最常用最核心的组件模块为索引,深入浅出地介绍了OpenCV2和OpenCV3中的强大功能、性能,以及新特性。书本配套的OpenCV2和OpenCV3双版本的示例代码包中,含有总计两百多个详细注释的程序源代码与思路说明。读者......一起来看看 《OpenCV3编程入门》 这本书的介绍吧!
