Firefly 的重要迭代版本 GFirefly 已經(jīng)獨立推出并運維了進9個月時間,已有200余家國內(nèi)各大手機游戲廠商開始陸續(xù)使用GFirefly 進行其新手游產(chǎn)品的開發(fā)。(2014游戲行業(yè)國內(nèi)最大黑馬“龍圖游戲”有3款自研產(chǎn)品均使用GFirefly)
鑒于從0.1.2版本開始GFirefly已經(jīng)基本穩(wěn)定,本次Firefly官方正式宣布將GFirefly整合進Firefly官方git中。
GFirefly(全稱:Firefly-Gevent)是Firefly的Gevent版本,相比之前Firefly版本中所使用的Twisted,Gevent更加的精簡和高效。
GFirefly結(jié)合了Gevent的性能,封裝了網(wǎng)絡(luò)IO處理、數(shù)據(jù)庫IO讀寫緩存、分布式進程間接口調(diào)用,這樣使得游戲server端的開發(fā)變得既輕松簡單又穩(wěn)定高效。開發(fā)者不必在去糾結(jié)處理這些技術(shù)難題,專心致力于游戲玩法邏輯的開發(fā)即可。
與之前的Firefly相比,GFirefly省略了遠程調(diào)用過程中添加回調(diào)函數(shù)callback的步驟。
你可以這樣去寫遠程調(diào)用的方法:
result = root.callChild("test_node",1,u'Root測試')
#這里不會阻塞的,在結(jié)果返回之前會執(zhí)行別的協(xié)程
print result
#當(dāng)結(jié)果返回的時候會繼續(xù)往下執(zhí)行
此次更新的GFirefly alpha 0.1.5做了如下的改進:
1、 單node節(jié)點斷開與root節(jié)點的連接后自動重連。
2、 修改了GFirefly的底層庫GTiwsted(Firefly官方自研),將socket發(fā)送數(shù)據(jù)放到一個協(xié)程中進處理。在發(fā)送數(shù)據(jù)的時候,會將發(fā)送的數(shù)據(jù)放到一個隊列中有發(fā)送數(shù)據(jù)的協(xié)程讀取發(fā)送,解決了
AssertionError: This socket is already used by another greenlet 的錯誤。
Firefly Git地址(內(nèi)含gfirefly):
Firefly OSC@GIT地址:
GFirefly獨立Git地址:
GTwisted獨立Git地址:
Firefly官方維護團隊:9秒社團
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!