나는 또 다른 2 개 서버 (모두 동일한 코드를 가지고, 노예 역할) socket.io와 socket.io-를 사용하여 하나 개의 서버 (마스터로 작동)에서 연결을 시도하고있다 다음 코드를 사용하여 클라이언트 노드 모듈 :Socket.io 클라이언트
var ioClient = require('socket.io-client');
var hosts = require('./hosts');
var x = {}
for (var i in hosts.get) {
var name = 'ns' + i;
x[name] = ioClient.connect(hosts.get[i].url, { 'force new connection':true });
x[name].on('connect', function() {
console.log(x[name].socket.options.host + ' connected')
});
}
당신이 볼 수 있듯이, 나는 (파일 hosts.js에 정의) X 다른 서버에 연결하고 오브젝트의 각 소켓을 저장하려합니다. 내가 연결할 수 있어요에도 불구하고
문제는,이다, 모든 소켓은 마지막 호스트에서 온 것, 그래서 같이 결국 :
host2.pc.gg.edu connected
host2.pc.gg.edu connected
를 기대 값 인 경우 :
host1.pc.gg.edu connected
host2.pc.gg.edu connected
나는 host1의 연결을 해제하려고했습니다 다음 출력이 끝나게 :
그래서host2.pc.gg.edu connected
내가 asume 문제가 t이다 이 놀랍게도
var ioClient = require('socket.io-client');
var hosts = require('./hosts');
var x = {};
for (var i in hosts.get) {
eval('x.ns' + i + '= ioClient.connect(hosts.get[' + i + '].url, { "force new connection":true });x.ns' + i + '.on("connect", function() {console.log(x.ns' + i + '.socket.options.host + " connected")});');
}
: 그는 재미있는 부분은 내가 동일한 코드를 수행 할 때, 대신, 객체에 변수 키를 사용하여 평가를 사용하는 온다 올바르게 분야 "options.host"
를 설정하지 소켓 나는 두 코드의 차이점을 알 수 없다.
매우 소켓이 연결
작품은, 대단히 감사합니다 !!!! – Cea33