Is it possible to set up a socket.io client running (server-side) on a node.js server?

后端 未结 3 414
不知归路
不知归路 2020-12-08 02:55

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

相关标签:
3条回答
  • 2020-12-08 03:41

    Before you go full speed on socket.io for server-to-server communications..... socket.io is engineered as a browser to server comm infrastructure. I'm far from certain it is the best solution for P2P server stuff. Plus, if you do server-to-server - why not just do Websockets? There are various websocket modules for node - e.g. https://github.com/einaros/ws

    0 讨论(0)
  • 2020-12-08 03:43

    Just for clarification, this is an example with listeners and possibility to emit events (and without install again a module already installed)

    var io = require('socket.io/node_modules/socket.io-client');
    
    client = io.connect('http://'+CONFIG.host+':'+CONFIG.port);
    
    client.on('connect',function() {
        client.emit("test","foo");
    }); 
    
    0 讨论(0)
  • 2020-12-08 03:52

    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!

    0 讨论(0)
提交回复
热议问题