Comment connecter deux node.js les serveurs avec les websockets?

Voici mon problème:

J'ai Un serveur, l'exécution de node.js et à l'aide d'une douille.io pour communiquer avec les clients (navigateurs web). Tout cela est en cours d'exécution fine et dandy.

Cependant, maintenant que j'ai le serveur B, qui doit également se connecter à Un serveur à travers les websockets, j'ai frappé un mur. Aucun des node.js websocket clients que j'ai trouvé ne fonctionne pas avec le socket.io sur le serveur A.

Donc, c'est le cas, je suis cherchant pour:

.--------.      .----------.      .----------.
| CLIENT | <--> | SERVER A | <--> | SERVER B |
'--------'      '----------'      '----------'

Client-serveur, Une connexion se fait par le biais de la prise.io

Maintenant, le Serveur B (exécution node.js) doit se connecter à Un serveur via websocket (afin de passer par le port 80). Mais...

Même l'exemple de code dans le support.io-module client ne fonctionne pas... :/

//Connect to server
var socket = new io.Socket('localhost', {port: 8080});
socket.connect();

//Add a connect listener
socket.on('connect', function(socket) { 
    console.log('Connected.');
});

Le code passe sans erreurs et la fin de l'exécution après quelques secondes.

Mise à jour: exemples de Code

Serveur (qui fonctionne très bien) ressemble à ceci:

//Load requirements
var http = require('http'),
    io = require('socket.io');

//Create server & socket
var server = http.createServer(function(req, res){

    //Send HTML headers and message
    res.writeHead(404, {'Content-Type': 'text/html'});
    res.end('<h1>Aw, snap! 404</h1>');
});
server.listen(8080);
io = io.listen(server);

//Add a connect listener
io.sockets.on('connection', function(socket) { 

    console.log('Client connected.');

    //Disconnect listener
    socket.on('disconnect', function() {
        console.log('Client disconnected.');
    });
});

Client ressemble à ceci

console.log('1');

//Connect to server
var io = require('socket.io-client')
var socket = new io.Socket('localhost', {port: 8080});
socket.connect();

console.log('2');

//Add a connect listener
socket.on('connect', function(socket) { 
    console.log('Connected!');
});

console.log('3');

1, 2 et 3 imprime très bien, pas d'erreurs, et quelques secondes plus tard, le processus s'interrompt

Aussi, le serveur A ne pas afficher quoi que ce soit dans le journal, même si j'ai de la prise.io journalisation réglé sur "tout".

  • Avez-vous définitivement un websockets client ou vous pouvez simplement utiliser le bon vieux sockets?
  • the node.js websocket clients I've found lesquels?
  • J'ai besoin d'au moins émuler les websockets car j'ai besoin de vous connecter au même serveur.
  • J'ai essayé de socket.io-client, ws, websocket-nœud
  • socket.io-client travaillé pour moi et les autres; je pense que vous devez poster un [non]exemple qui illustre vos questions. Aussi, essayez d'ajouter des processus.sur('UncaughtException') ou des coupes le long de la route; "sans erreur" signifie "n'avait pas l'air assez dur" : )
  • L'Ofc j'ai UncaughtException là, donc je ne pense pas que résout rien, puisque, comme je l'ai dit, je n'ai pas les erreurs (ni exceptions)... j'ai aussi beaucoup de la console.journal, et ceux qui racontent la même histoire. De Plus, j'ai été regarder cette seule question 6 heures déjà je pense donc que j'ai regardé assez dur, même si je n'obtiens pas d'erreurs.

InformationsquelleAutor crappish | 2012-01-12