lang/node

Upgrade socket.io 1.3.7 On Express 4.13.3

C/H 2015. 11. 30. 08:30

클라이언트 문제 해결

node.js socket.io 与 express 集成出错에서 오류를 해결 할 수 있는 포인트를 확인.
클라이언트의 연결문제는 해결됨.
하지만 서버에서 http://domain.com/socket.io/ 에서
{code":0,"message":"Transport unknown} 오류가 계속됨. 확인 결과 socket.io 1.3.7에서 transport를 지정하지 않는 연결요청은 Transport unknown 에러가 정상적인 동작임.
업그레이드 중 필요없다고 생각한 모듈을 제거했지만 인스턴스를 사용하는 코드가 남아있어 오류를 배출함 그로 인해서 클라이언트에서 연결이 비 정상적으로 동작함.
서버 로직에서 오류나 에러가 있는지 확인 해 볼것

서버 문제 해결

  • manager = {	
    	//io.sockets.manager.rooms
    	rooms : io.sockets.adapter.rooms,
    	/*
    	 {
    	 	clientid : { clientid: true },
    	 	clientid : { clientid: true },
    	 	roomid : { clientid: true, clientdid : true },
    	 	roomid : { clientid: true, clientdid : true }
    	 }
    	*/
    	// io.sockets.manager.roomClients
    	clients : io.sockets.adapter.sids
    	/*
    	 {
    	 	clientid : { clientid: true, roomid: true },
    	 	clientid : { clientid: true, roomid: true }
    	 }
    	 */
    };
    

  • io.sockets.socket(socketId) is gone? #1618

    0.9 : io.sockets.socket( socket_id ).emit();
    1.0 After : io.to( sock_id|roomid ).emit();

  • disconnect 이벤트 문제 0.1 미만에서 disconnect에서 연결해제를 사용자가 직접 처리해야 했지만, 1.3.7 에서는 자동으로 된다.
    하지만 그로 인해서 생기는 문제를 해결하려면 다른 방법을 찾아야 한다.

반응형

'lang > node' 카테고리의 다른 글

socket.io listen OR attach  (0) 2015.12.08
Socket.io 0.9.x, 1.x Protocol  (0) 2015.12.04
nodeclipse debug  (0) 2015.11.25
socket.io rooms 기능  (1) 2015.11.23
npm extraneous  (0) 2015.11.19