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可以理解成一個全局的上下文環境。