I'm programming a multiplayer game using node.js and socket.Io and during 
that work I got some questions and thoughts concerning performance.

At the moment only one gameroom can be opened and the socketio server does 
forward basic messages like direction changes of players to the other 
connected clients and computes some basic game logic.
Altough this works great at the moment I have some concerns how to realise 
this with a lot of gamerooms or "servers" like in other multiplayer games 
where you have a server browser with a list of different servers. As a 
simple aproach I would implement this with different rooms in socket.io 
sending messages only to sockets in the same game. But then still all 
messages are processed by only one socket.io server. I think latency would 
suffer at some point between clients. For example if you have something 
like this:

GameRoom1
Client1
Client2
GameRoom2
Client3
Client4
...

.. then latency between Client1 and Client2 would be important, but latency 
between Client1 and Client3 wouldnt be that important because they dont 
need to message each other.

My thought would be to open multiple socketio instances for each fixed 
number of open gamerooms. But I dont know if this is effective and how to 
direct the clients to the right instance. Also I dont know if latency would 
really be better because it would be still the same machine only with 
multiple instances.

Another thought of mine would be to let one client be a server as a host 
like in other games and only register the server at a master server for the 
serverlist. But I havent found any realisation for this and dont think this 
is possible with socket.io.

Surely you could make something like dedicated servers so that everyone 
opens his own socket.io server for the game, but I want that everyone on 
the website can open a new game with just a click. Also i wouldnt know how 
to secure others dont alter the socket.io server with some unsecure stuff.

So I would like to know if there is any effective solution or some ideas or 
sources for this problem.

Thanks in advance.

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to