Friday, May 10, 2024
 Popular · Latest · Hot · Upcoming
138
rated 0 times [  145] [ 7]  / answers: 1 / hits: 17252  / 12 Years ago, tue, march 13, 2012, 12:00:00

I'd like to enable socket-based p2p communications between two or more different node.js application servers. I'm using socket.io to handle all such communication between a given server and the web application it serves - but what I'm looking for is a way to communicate server-to-server.



I had initially assumed it would be as easy as something like this:



var io = require(socket.io);
var socket = io.connect(my remote endpoint);


However, as it turns out the server-side socket.io implementation doesn't offer a connect method, only a listen method.



Why is this? Why can't I treat a node application server as a client to a socket.io server running elsewhere? Is there any way that I can achieve this functionality?


More From » sockets

 Answers
10

OK, so thanks to @pimvdb in the comments above I've got a workable solution.



Basically, the socket.io library that npm installs has a dependency on another module, called socket.io-client. In a standard socket.io installation this will be installed in node_modules/socket.io/node_modules/socket.io-client



However, it's also possible to say npm install socket.io-client and install it as its own first-class citizen library.



Then your usage looks like this:



var client = require(socket.io-client);
var socket = client.connect(http://myendpoint.com:3000/whatever);
socket.emit(test, foo);


And everything works.



So, thanks man!


[#86871] Monday, March 12, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
irvingcarloe

Total Points: 677
Total Questions: 109
Total Answers: 96

Location: Svalbard and Jan Mayen
Member since Sun, Sep 25, 2022
2 Years ago
;