Вот моя проблема:Как подключить два сервера node.js с websockets?
У меня есть сервер A, running node.js и использование socket.io для общения с клиентами (веб-браузеры). Все это прекрасно работает и денди.
Однако, теперь, когда у меня есть сервер B, которому также необходимо подключиться к серверу A через websockets, я ударил стену. Ни один из Node.js клиентов WebSocket я нашел не будет работать с Socket.io на сервере А.
Итак, это дело я стремлюсь:
.--------. .----------. .----------.
| CLIENT | <--> | SERVER A | <--> | SERVER B |
'--------' '----------' '----------'
Client -сервер Подключение осуществляется через socket.io
Теперь сервер B (running node.js) должен подключиться к серверу A через websocket (чтобы пройти через порт 80). Но ...
Даже пример кода в модуле socket.io-клиент не работает ...:/
// 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.');
});
Код просто проходит без каких-либо ошибок и выполнение заканчивается через несколько секунд.
Обновление: Образцы кода
сервер (который прекрасно работает) выглядит следующим образом:
// 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 выглядит следующим образом
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 и 3 гравюр просто отлично , ошибок нет, и через несколько секунд процесс просто выходит
Кроме того, сервер A не выводит что-нибудь в журнал, хотя у меня есть запись в socket.io, установленная на «все».
Вы определенно клиент веб-сайтов или можете использовать простые старые сокеты? – maerics
'узлы веб-узла node.js, которые я нашел, какие? – Kato
Мне нужно хотя бы эмулировать веб-порты, так как мне нужно подключиться к тому же серверу. – crappish