결론은 안된다.
어찌보면 당연한것....
실시간 통신이 필요한 게임 서버를 만들면서
node.js 로 처음 작업하게 되었다.
html5 게임을 만들고 있고
클라이언트들은 기존에 웹소켓으로 구현을 해둔게 있고
서버를 java spring을 쓰고 있어서
간단한 보드 게임류에 쓰려고
서버를 따로 node.js 사용해 구현 중이다.
node.js 를 처음 접하면서
socket.io를 사용하게 되면 room 구조 덕분에
서버 코드가 굉장히 간단해진다.
mmorpg가 아닌 대부분의 룸 구조를 가진
게임에 쓰라고 만들어 둔것 마냥 편하다.
socket.io 서버 예제를 보면
채팅 밖에 없는데
사실 채팅 서버나 게임 서버나
다를게 없지.
그래서
클라이언트 작업을 좀 줄여주려고
그냥 웹소켓 기존대로 쓰고
나는 socket.io를 쓰려고 했는데
띠용.
socket.io 는 네트워크 플랫폼 중에 하나라서
웹소켓 대체제가 아니다.
여러 클라이언트 환경을 고려해서
쉽게 네트워크 환경을 만들어 주는 것 뿐이다.
어쩔때 polling 으로
가능하면 websocket 으로
자기가 알아서 핸드쉐이크하고
연결하고 하트비트 보내고
이벤트도 하이레벨로 올려서
코드단에서 편하게 해주고.
튜토리얼과 예제를 보면
socket.io 서버를 생성할 때
websocket만 쓰겠다고 강제할 수 있다.
그래서 처음 접하는 서버 개발자들은
나처럼 바로 웹소켓만 열어주는거구나
오해할 수 있다.
안되니깐...
어떻게든 클라이언트도 socket.io 쓰자고
꼬셔라.
클라이언트도 raw websocket 쓰는 것보다
socket.io를 쓰면
이벤트 단위로 콜백만 연결해주면
패킷 파싱해서 연결하는것보다는
코드가 깔끔해지니깐
이걸로 꼬셔봐라.
'프로그래밍' 카테고리의 다른 글
맥북 한영키 (CapsLock) 변환이 짜증 날 때... (0) | 2020.12.16 |
---|---|
구글 앱 리젝 당하다... (0) | 2020.12.14 |
마우스 우클릭 해제 드래그 방지 해제 초간단 해결 (0) | 2020.08.10 |
무료 SSL 인증서 발급하기 – Let’s Encrypt / CertBot (0) | 2020.07.16 |
워드프레스 ftp 인증 오류 해결 (0) | 2020.06.16 |