여기 내 문제가 있습니다 :두 개의 node.js 서버를 웹 소켓과 연결하는 방법은 무엇입니까?
저는 클라이언트 (웹 브라우저)와 통신하기 위해 node.js를 실행하고 socket.io를 사용하여 서버 A를 보유하고 있습니다. 이 모든 것이 훌륭하고 멋쟁이 답니다.
그러나 서버 B에 웹 소켓을 통해 서버 A에 연결해야하므로 벽에 부딪 혔습니다.
.--------. .----------. .----------.
| CLIENT | <--> | SERVER A | <--> | SERVER B |
'--------' '----------' '----------'
클라이언트 : 내가 발견 한 Node.js를 웹 소켓 클라이언트 중에 서버 A. 그래서
에 socket.io와 함께 작동하지 않습니다, 이것은 내가 위해 노력하고있어 경우입니다 -server socket.io를 통해 연결됩니다.
이제 서버 B (node.js 실행 중)가 websocket (포트 80을 통과하기 위해)을 통해 서버 A에 연결해야합니다. 하지만 ... 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.');
});
});
고객이
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 websocket 클라이언트 중 내가 찾은 클라이언트가 무엇입니까? ' – Kato
동일한 서버에 연결해야하므로 적어도 웹 소켓을 에뮬레이션해야합니다. – crappish