NetEase / pomelo

A fast,scalable,distributed game server framework for Node.js.
http://pomelo.netease.com
MIT License
11.88k stars 2.9k forks source link

Pomelo Socketio-client RangeError : out of rang index #903

Open saruno opened 7 years ago

saruno commented 7 years ago

I build my server using hybridconnector (My client use Websocket connect to Pomelo server). Somtimes i got an error in my log

out of range index---->RangeError: out of range index at RangeError (native) at fastCopy (/usr/pomelo_prj/showtimes_nodejs/game-server/node_modules/pomelo/node_modules/socket.io-client/node_modules/ws/lib/Receiver.js:317:24) at Receiver.add (/usr/pomelo_prj/showtimes_nodejs/game-server/node_modules/pomelo/node_modules/socket.io-client/node_modules/ws/lib/Receiver.js:78:3) at Socket.firstHandler (/usr/pomelo_prj/showtimes_nodejs/game-server/node_modules/pomelo/node_modules/socket.io-client/node_modules/ws/lib/WebSocket.js:663:22) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at readableAddChunk (_stream_readable.js:176:18) at Socket.Readable.push (_stream_readable.js:134:10) at TCP.onread (net.js:543:20)

My pomelo version 1.1.9

fantasyni commented 7 years ago

use which client ??

saruno commented 7 years ago

I use this client https://github.com/pomelonode/pomelo-jsclient-websocket

fantasyni commented 7 years ago

@saruno ok, this may be the rpc error, the neweast pomelo@2.2.x remove this socket.io backend rpc, use pure javascript implemented mqtt protocol

saruno commented 7 years ago

Thanks. Now i'm using pomelo 1.1.9, how to update pomelo to version 2.2.x

fantasyni commented 7 years ago

@saruno npm install pomelo@2.2.x --save

saruno commented 7 years ago

When i update to pomelo@2.2.x i got an error when start pomelo : [2017-01-24 09:00:53.058] [INFO] pomelo-admin - [MqttServer] [MqttServer] listen on 3005

[2017-01-24 09:00:53.082] [INFO] pomelo-admin - [ConsoleService] try to connect master: "master", "127.0.0.1", 3005

[2017-01-24 09:00:53.098] [ERROR] pomelo-admin - [MqttClient] mqtt socket is error, remote server host: 127.0.0.1, port: 3005[2017-01-24 09:00:53.111] [INFO] pomelo-admin - [MqttClient] exit ...

What's happen with my pomelo server ?

fantasyni commented 7 years ago

@saruno try reinstall global pomelo with
npm install -g pomelo

saruno commented 7 years ago

I reinstall pomelo successed. When i run : pomelo --version -> pomelo 2.5.5. But when i run "pomelo start" it still error

[ERROR] pomelo-admin - [MqttClient] mqtt socket is error, remote server host: 127.0.0.1, port: 3005

My server deploy on AWS EC2

My pomelo config files :

master.json

{ "development": { "id": "master-server-1", "host": "127.0.0.1", "port": 3005 }, "production": { "id": "master-server-1", "host": "127.0.0.1", "port": 3005 } }

servers.json

{ "development":{ "connector": [ {"id": "connector-server-1", "host": "127.0.0.1", "port": 3150, "clientHost": "127.0.0.1", "clientPort": 3010, "frontend": true} ] }, "production":{ "connector": [ {"id": "connector-server-1", "host": "127.0.0.1", "port": 3150, "clientHost": "127.0.0.1", "clientPort": 3010, "frontend": true} ] } }

I already changed host of master and connect to my AWS EC2 private IP and it's still error

frabaglia commented 7 years ago

@saruno did you fix it?

I'm actually having this kind of error and i tought that it was from client to front-end error comunication. @fantasyni you are saying that this is an error from frontend to backend server?