pomelo rpc調用出錯的解決
adminServer.json 沒有設定伺服器型別的token
"type": "game",
"token": "xxxxxxxxxxxxxx"
出現下面的錯誤
[2016-06-05 16:34:35.620] [ERROR] console - Caught exception: TypeError: Cannot read property 'game' of undefinedat Handler.entry (D:\project\gameBilliards\game-server\app\servers\connector\handler\entryHandler.js:20:17)
at Service.handle (D:\project\gameBilliards\game-server\node_modules\pomelo\lib\common\service\handlerService.js:38:30)
at handle (D:\project\gameBilliards\game-server\node_modules\pomelo\lib\server\server.js:370:25)
at next (D:\project\gameBilliards\game-server\node_modules\pomelo\lib\common\service\filterService.js:50:7)
at Filter.before (D:\project\gameBilliards\game-server\node_modules\pomelo\lib\filters\handler\timeout.js:34:3)
at next (D:\project\gameBilliards\game-server\node_modules\pomelo\lib\common\service\filterService.js:58:15)
at Service.beforeFilter (D:\project\gameBilliards\game-server\node_modules\pomelo\lib\common\service\filterService.js:65:3)
at beforeFilter (D:\project\gameBilliards\game-server\node_modules\pomelo\lib\server\server.js:242:8)
at doHandle (D:\project\gameBilliards\game-server\node_modules\pomelo\lib\server\server.js:383:3)
at dispatch (D:\project\gameBilliards\game-server\node_modules\pomelo\lib\server\server.js:107:7)
rpc呼叫如果沒有傳遞session,會出現下面的錯誤
self.app.rpc.game.gameRemote.add(1,2, "test", 3, function(v1,v2,v3)
request "connector.entryHandler.entry" timeout.
[2016-06-05 16:38:37.891] [ERROR] pomelo-rpc - [D:\project\gameBilliards\game-server\node_modules\pomelo\node_modules\pomelo-rpc\lib\rpc-server\acceptors\ws-acceptor.js]
rpc server process message error: "TypeError: undefined is not a function\n at gameRemote.add
(D:\\project\\gameBilliards\\game-server\\app\\servers\\game\\remote\\gameRemote.js:14:5)\n at pro.route
(D:\\project\\gameBilliards\\game-server\\node_modules\\pomelo\\node_modules\\pomelo-rpc\\lib\\rpc-server\\dispatcher.js:51:10)\n
at D:\\project\\gameBilliards\\game-server\\node_modules\\pomelo\\node_modules\\pomelo-rpc\\lib\\rpc-server\\gateway.js:23:16\n
正確的如下
Handler.prototype.entry = function(msg, session, next) {
var self=this;
self.app.rpc.game.gameRemote.add(session,1,2, "test", 3, function(v1,v2,v3)
全套creator html5 + nodejs pomelo express 實踐開發,喜歡交流的加扣扣群427719099,歡迎入坑