2014-06-22 8 views
0

에 서버의 응답으로 내 보낸 경우 서버 측에서 코드를 보내면 코드가 클라이언트 측에서만 "on"으로 응답 할 수 있어야합니까?nodejs socket.io 서버

내 문제는 사용자가 특정 사용자 목록을 개체로 가져 오는 경우입니다.

로그인하면 사용자 B, G 및 X의 내용을 가진 사용자 지정 개체가 나타납니다. 이제 사용자 B, G 및 X에도 각각 사용자 지정 개체가있는 것이 문제입니다. 물론 모든 것은 서버 측에 있습니다.

이제는 서버 쪽에서 이러한 사용자에게 보낼 것을 시도했습니다. 이 방출 된 또한 켜져있는 서버 쪽에서 받아야합니다. 그러나 작동하지 않습니다.

나는 이런 식으로 뭔가를 시도

io.sockets.on('connection', function(socket){ 
    socket.on('login', function(){ 
      for(var key in specific_object){ 
       specific_object[key].emit('add user'); 
      } 
    }); 

    socket.on('add user', function(data){ 
      console.log("now please...."); 
    }); 
}); 

희망 누군가가 나를 :) 도움이 될 수 있습니다

UPDATE

enter image description here .JPG)

+0

서버 측 소켓에서 서버의 다른 소켓을 방출 할 수 없습니다. 마찬가지로 클라이언트 측 소켓은 다른 클라이언트 측 소켓을 방출 할 수 없습니다. 네가하고 싶은 일은 여전히 ​​나에게 분명하지 않다. 보내고 싶은 서버와 클라이언트 측 소켓을 더 추가하십시오. –

+0

[그림] (http://www.myimg.de/?img=problem03632.jpg). 문제의 그림을 추가했습니다. – EDNA

+1

내가 얻은 것은 "로그인"에서 "adduser"를 내보내고 둘 다 서버 측 소켓입니다. 그렇다면 다시 다른 서버의 소켓에서 서버 측에 정의 된 소켓을 방출 할 수 없습니다. 당신은 대답을 가지고 있습니다, 그것은 당신을 도울 것입니다. –

답변

0

내가 제대로 이해하는 경우가 발생할 수도 있습니다 함수를 호출하고 loginadd user 이벤트에서 호출하십시오.

function addUser(socket, data) { 
    console.log("now please...."); 
    //do something with socket and passed data 
} 

io.sockets.on('connection', function(socket){ 
    socket.on('login', function(){ 
     for(var key in specific_object){ 
      //specific_object[key].emit('add user'); 
      addUser(specific_object[key], {your: 'data'}); 
     } 
    }); 

    socket.on('add user', function(data){ 
     addUser(socket, data); 
    }); 
});