질문Q #3310
node.js socket.io get, set에 대한 질문합니다.
바다의이무기2015-10-02 13:59:35
데이터베이스에 있는 정보를 가져와서  get, set을 해서 
누가 어떤 메시지를 보냈는지 출력할려고 합니다. 
지금 socket.io 버전은 1.3.5버전 입니다. 
1.0 버전부터는 get, set 메서드가 없어졌고..그냥 바로 socket.room = result.room; 이렇게 하면 된다고 해봐도 값이 없다고  게속 undefined가 뜨면서 안되고 
socket.io버전을 0.9로 낮춰서 해봐도 계속 값이 없다고 나옵니다. 
어떻게 get, set메서드 처럼 서버에 저장하는 방법이 없나요???  가르침 부탁드립니다..
 
//소스
socket.on('join', no){
  //채팅방입장을 위한 쿼리문
   {
     result.room; //쿼리결과 채팅방
     userId; // 입장할 회원아이디
      socket.set('room',  result.room, function(){
         var join_room =  result.room;
    });
   socket.set('user_id',  userId, function(){
         var join_userId =  userId;
    });
  });
}
socket.on('addNewMessage', function(message){
     socket.get(' room',function(err, room){
           socket.get(' user_id',function(err, user_id){
                io.sockets.in(room).emit('sChat', 'msg', UserId  +' : ' + message);
            });
        });
      
}
답변3
#1 ci개밟자 2015-10-02 17:37:45
중간부분에 socket을 socekt로 잘못적은것 같은데요?
#2 바다의이무기 2015-10-03 11:59:33
글올리면 오타 생긴 것 수정했습니다..  지금 mysql 쿼리문 가져오는 함수(메서드) 안에서  하면 안되고 밖에서 다른 변수를 socket에 저장 하니깐 잘 나오네요... 뭐가 문제인지..ㅠㅠ
#3 테러보이 2015-10-04 01:17:14
http://inspiredjw.tistory.com/m/post/15 보통 클라이언트 사이드의 자바스크립트 window전역 선언 처럼 노드js도 global로 전역 변수를 생성가능 한것으로 알고있습니다.