다수의 클라이언트가 서버에 붙어서 대기 상태로 변경 시 데이터를 받아야 한다.
가령 3천명의 유저가 있으면 1명의 유저가 자기 그룹 29명에게 데이터를 보내야 한다.
그래서 찾아본 결과 브로드캐스트 기술도 있지만 이건 뭐... 배보다 배꼽이 더 크다.
결론은 클라이언트에 환경 설정과 공유기 설정에 따라 무시될수도 있기에 기술적인 측면만 개인적으로 알아봤다.
그리고 더 찾아보니, i7 1세대로 통신이 많지 않으면 8천명도 수용이 가능하다고 하더라..
그런데 내가 만드려고 하는건 게임 서버도 아니고 1만명 이상도 가능하지 않을까 싶다. 물론 서버 스팩에 따라..
그래서 이 틀간 고민한 내용 중 기술적인 측면은 끝이 났고 WebSocket 중 어떤걸 쓸까 고민해야 했다.
남들이 만들어 놓은 SuperSokcet이나 webscoket-sharp 같은 내용이 있었지만 생각이 많이 들었다.
SuperSocket은 종속성도 많다. 난 WebSocket 기능만 간단하게 쓰고 싶은데 흠.. 새록새록 떠오르는 log4net의 기운도 떠오르고 -..-... 그래서 일단 패스. 뭐 나중에 다른 라이브러리 쓰다가 부족해지면 바꾸던가 해야겠다.
그래서 그냥 테스트 용도로 써볼까하고 결정한 것이 WatsonWebsocket이다.
아이콘이 강아지다. -..- mit 라이센스다.
https://github.com/jchristn/WatsonWebsocket
암호화 정책도 간단하게 정했고, 압축도 정했고 WebSocket도 정했으니 통신을 만들기 전에 기본 분석 좀 해야겠다.
'개인 작업' 카테고리의 다른 글
06. 클라이언트 작업 근황1 (0) | 2019.10.01 |
---|---|
05. 서버 작업 근황1 (0) | 2019.10.01 |
03. 압축 라이브러리 선택 (0) | 2019.09.24 |
02. 응용프로그램 선택 및 나머지 생각 (0) | 2019.09.24 |
01. 인프라 선택 (0) | 2019.09.16 |