Ecco il mio problema:Come connettere due server node.js con websocket?
Ho il server A, eseguendo node.js e utilizzando socket.io per comunicare con i client (browser Web). Tutto sta funzionando bene e dandy.
Tuttavia, ora che ho il server B, che deve anche connettersi al server A tramite websockets, ho colpito un muro. Nessuno dei clienti websocket Node.JS che ho trovato non funziona con la socket.io sul server A.
Quindi, questo è il caso che sto lottando per:
.--------. .----------. .----------.
| CLIENT | <--> | SERVER A | <--> | SERVER B |
'--------' '----------' '----------'
client -server Una connessione viene effettuata tramite socket.io
Ora, il server B (node.js in esecuzione) deve connettersi al server A tramite websocket (per passare attraverso la porta 80). Ma ...
Anche il codice di esempio nel modulo socket.io-client non funziona ...:/
// 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.');
});
Il codice passa solo senza errori e l'esecuzione termina dopo pochi secondi.
Aggiornamento: Esempi di codice
Server (che funziona bene) si presenta così:
// 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 sembra questo
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 e 3 stampe fuori proprio bene , nessun errore e pochi secondi dopo il processo esce semplicemente
Inoltre, il server A non viene emesso qualsiasi cosa al registro, anche se ho la registrazione socket.io impostata su "tutto".
Sei un client di websockets o puoi semplicemente usare le vecchie prese? – maerics
'i client websocket node.js che ho trovato' quali? – Kato
Ho bisogno di emulare almeno websocket poiché ho bisogno di connettermi allo stesso server. – crappish