Pomelo雜記(四)

1、----------------------------------------------------------

pomelo目前提供了hybridconnector和sioconnector,其中hybridconnector支持socket(TCP)和websocket,sioconnector支持socket.io(websocket的封裝)。


sioconnector使用socket.io(websocket封裝)本身有自身是有心跳的,不需要配置,服務端檢測客戶端退出可以通過心跳超時。

hybridconnector支持socket(TCP)和websocket,須手動設置心跳、超時斷開、字典壓縮和protobuf。

app.set('connectorConfig',
    {
        connector : pomelo.connectors.hybridconnector,
        heartbeat : 30,
        useDict : true,
        useProtobuf: true, //enable useProtobuf
        disconnectOnTimeout: true
    });

2、----------------------------------------------------------
before filter中怎樣處理error

如果在before filter中,檢測到msg異常,可以調用next(err);來將處理流程直接導向你註冊的ErrorHandler。在before filter裏面調用next,可以像handler裏面一樣,封裝一個js對象作爲返回給客戶端的resp。

3、----------------------------------------------------------

廣播對cpu的消耗較高,如果對廣播的實時性要求不高建議選擇buffer scheduler,當然也可以自定義scheduler。

Pomelo框架默認提供兩類scheduler。

    pomelo.schedulers.direct - 默認採用的scheduler,直接將上層下來的消息發送出去。
    pomelo.schedulers.buffer - 對上層的消息進行緩存,並定期批量發送出去。可以通過flushInterval初始化參數設置刷新間隔,單位爲毫秒,默認值爲20毫秒。

4、----------------------------------------------------------
nodejs的mysql連接一直有bug,可能會某次連接被關閉,最新版的已經解決這個問題了,需要升級到,"mysql":"2.0.0-alpha8"

5、----------------------------------------------------------

你可以用app.set('var_name', var)做全局變量,然後其他需要的地方,只要有app,就直接app.get('var_name')就行了,app可以理解成一個全局的上下文環境。


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