node.js로 소켓서버 구축하기


발생일: 2012.11.06

문제:
지난 주말엔 회사에서 주최하는 해커톤(hackathon) 행사에 참석했었다.

이번엔 모바일 브라우저에서 PC 브라우저의 마우스를 컨트롤 할 수 있는 리모트 컨트롤러를 만들었다.

컨트롤러는 트위터 부트스트랩과 Raphael.js로 꾸미고, require.js로 모듈화했고,
통신은 웹소켓으로 하고, 소켓 서버는 node.js를 사용했다.

작업한 코드는 github에 넣어뒀다.

https://github.com/ohgyun/remote-controller


여기까지 작업하는데 대략 10시간 정도 걸린 것 같다. 비몽사몽이라 기억이.. @_@

여튼, 작업 중간중간 메모해둔 게 있어 옮겨둔다.



해결책:


node.js 웹소켓 서버


웹서버 프레임워크는 express를 쓴다.


express 사용법


WebSocket과 Socket.io의 차이점


통신 방법을 websocket으로만 제한하고 싶다면.
     transports 옵션을 webscoket으로만 넣는다.


socket.io.js 파일 어디에 있나?
     express 3.x 버전에서 socket.io를 사용했기 때문.
     
     3.x에 맞게 바꾸고,
     express의 app.listen()이 아니라, http 서버의 server.listen() 이다.


socket.io로 방(채널) 만들기


방 여러개 쓰기 튜토리얼


__dirname 과 상대경로 ./ 의 차이


require.js로 부트스트랩이 로드되지 않을 때


require.js로 raphael이 로드되지 않을 때



카테고리

분류 전체보기 (682)
About me. (6)
Daylogs (647)
비공개 (0)
영어공부 (0)
My works - 추억 (29)