(十一)nodejs循序渐进-高性能游戏服务器框架pomelo之启动流程和组件
游戲啟動(dòng)過(guò)程
啟動(dòng)入口
在使用pomelo進(jìn)行游戲開(kāi)發(fā)時(shí),工程目錄下的app.js是整個(gè)游戲服務(wù)器的啟動(dòng)運(yùn)行入口。app.js中創(chuàng)建項(xiàng)目,進(jìn)行默認(rèn)配置并啟動(dòng)服務(wù)器的代碼如下:
var pomelo = require('pomelo'); var app = pomelo.createApp(); app.set('name', 'nameofproject'); app.start();從上面的代碼可以看出,用戶首先需要在項(xiàng)目中引入pomelo,然后創(chuàng)建application的實(shí)例app,接著完成一些基本的應(yīng)用配置,最后應(yīng)用就可以啟動(dòng)了。當(dāng)app.js運(yùn)行起來(lái)后,pomelo會(huì)根據(jù)游戲的配置啟動(dòng)不同的相關(guān)組件及服務(wù)器。
服務(wù)器與組件
服務(wù)器啟動(dòng)流程的主要工作就是逐一啟動(dòng)app.load注冊(cè)的組件。組件是連接pomelo框架和當(dāng)前服務(wù)器所依賴的服務(wù)之間的橋梁。不同的服務(wù)器可以選擇加載不同的組件。Pomelo提供了一些系統(tǒng)默認(rèn)的組件,主要包括:handler, filter, master, monitor, proxy, remote, server, sync, connection。開(kāi)發(fā)者也可以根據(jù)需要,開(kāi)發(fā)自己的組件,并加載到服務(wù)器進(jìn)程中。
組件同時(shí)是具有生命周期的,其生命周期可以包括start, after start, stop等。在組件中可以實(shí)現(xiàn)這些方法,應(yīng)用服務(wù)器會(huì)在不同的運(yùn)行階段執(zhí)行組件不同生命周期的方法。
啟動(dòng)流程詳述
應(yīng)用創(chuàng)建及啟動(dòng)
所有服務(wù)器的啟動(dòng)都是從運(yùn)行app.js開(kāi)始。每一個(gè)服務(wù)器的啟動(dòng)都首先創(chuàng)建一個(gè)全局唯一的application對(duì)象,該對(duì)象中掛載了所在服務(wù)器的所有信息,包括服務(wù)器物
總結(jié)
以上是生活随笔為你收集整理的(十一)nodejs循序渐进-高性能游戏服务器框架pomelo之启动流程和组件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: lua的VS或者VC环境的搭建调试
- 下一篇: 利用posix_fadvise清理系统中