從 Pomelo 源碼中整理出知識點

Node.js 遊戲開發框架 Pomelo 知識點

最近更新時間:2019-09-24
原文鏈接:http://www.childsay.com/pomelo-point.html

1.獲取 pomelo 運行的環境

源碼中設置運行環境的位置 lib/util/appUtil.js

// 193 行
var setupEnv = function(app, args) {
  app.set(Constants.RESERVED.ENV, args.env || process.env.NODE_ENV || Constants.RESERVED.ENV_DEV, true);
};

其中 Constants.RESERVED.ENV 的值爲 env,Constants.RESERVED.ENV_DEV 的值爲 development。
使用 pomelo start 方式啓動時如果沒有傳入 --env 參數,則會先檢查 process.env.NODE_ENV 環境變量是否設置,如果沒有則默認爲 development。如果是通過 pomelo start --env production 方式啓動則是 production。

獲取運行環境的方法爲:

app.get('env')

2.獲取項目的根目錄

app.get('base')
// 或
app.getBase()

即 app.js 所在的目錄

3.監聽所有 server 啓動完成後事件

如果需要在所有服務器啓動完成後,再執行某些操作,可以通過監聽 start_all 事件來實現。

// app.js
app.event.on('start_all', () => {
  console.log(`所有服務啓動完成了`)
})

app.event 其它事件

  • bind_session
  • close_session
  • add_servers
  • remove_servers
  • replace_servers
  • add_crons
  • remove_crons
  • start_all
  • start_server

4.獲取客戶端 ip 和端口

const ip = session.__session__.__socket__.remoteAddress.ip
const port = session.__session__.__socket__.remoteAddress.port
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章