开源游戏服务器端框架Firefly正式将GFirefly整合!

jopen 10年前

Firefly 的重要迭代版本 GFirefly 已经独立推出并运维了进9个月时间,已有200余家国内各大手机游戏厂商开始陆续使用GFirefly 进行其新手游产品的开发。(2014游戏行业国内最大黑马“龙图游戏”有3款自研产品均使用GFirefly)

鉴于从0.1.2版本开始GFirefly已经基本稳定,本次Firefly官方正式宣布将GFirefly整合进Firefly官方git中。

GFirefly(全称:Firefly-Gevent)是Firefly的Gevent版本,相比之前Firefly版本中所使用的Twisted,Gevent更加的精简和高效。

GFirefly结合了Gevent的性能,封装了网络IO处理、数据库IO读写缓存、分布式进程间接口调用,这样使得游戏server端的开发变得既轻松简单又稳定高效。开发者不必在去纠结处理这些技术难题,专心致力于游戏玩法逻辑的开发即可。

与之前的Firefly相比,GFirefly省略了远程调用过程中添加回调函数callback的步骤。

你可以这样去写远程调用的方法:

result = root.callChild("test_node",1,u'Root测试')

#这里不会阻塞的,在结果返回之前会执行别的协程

print result

#当结果返回的时候会继续往下执行

此次更新的GFirefly alpha 0.1.5做了如下的改进:

1、  单node节点断开与root节点的连接后自动重连。

2、  修改了GFirefly的底层库GTiwsted(Firefly官方自研),将socket发送数据放到一个协程中进处理。在发送数据的时候,会将发送的数据放到一个队列中有发送数据的协程读取发送,解决了

AssertionError: This socket is already used by another greenlet 的错误。

Firefly Git地址(内含gfirefly):https://github.com/9miao/Firefly

GFirefly独立Git地址:https://github.com/9miao/G-Firefly

GTwisted独立Git地址:https://github.com/9miao/gtwisted

Firefly官方维护团队:9秒社团