(온라인게임을 지탱하는 기술)

*C/S형 게임(C/S MMO, C/S MO)

고성능/고기능 서버 프로그래밍X일반적 클라이언트 프로그래밍, 서버에서 모든 처리를 하고, 한 대의 서버머신으로 가능한 많은 유저를 받아 들일 필요가 있다. 그 반면, 클라이언트 측의 통신은 단순하다.

  • 소대역: 매초 몇차례~20회정도, 수백 바이트까지 계속 통신하여 접속을
  • 극히 다수: 서버 한 대당 수천~수만의 접속을 유지한 채로
  • 저지연: 수 밀리초~20밀리초 정도에 처리하여 결과를 반환한다.
  • 스테이트풀: 서버는 상태를 유지하고 있으며(Stateful), 적의 움직임과 같은 동작을 온 메모리 상태로 리얼타임으로 계속해서 처리하고 있다.


*P2P형게임(P2P MO)

일반적(웹)서버 프로그래밍X 고성능/고기능 클라이언트 프로그래밍

보조적인 기능 이외의 게임을 처리하는 서버는 필요없지만, 클라이언트가 서버를 겸하기 떄문에 많은 기능을 클라이언트에 구현해야 한다.


  • 소대역: 매초 몇차례~20회정도, 수백 바이트까지 계속 통신하여 접속을
  • 소수: 클라이언 하나당 몇개까지
  • 저지연: 수 밀리초~20밀리초 정도에 처리하여 결과를 반환한다.
  • 스테이트풀: 클라이언트는 상태를 유지하고 있고 적의 움직임과 같은 동작으로 온 메모리 상태로 리얼타임으로 계속해서 처리하고 있다. 또 화면 표시 처리등의 매우 무거운 처리도 동시에 실시해야 할 필요성이 있다.
  • 다양성: 클라이언트의 네트워크 상황의 다양성에 대응해야 한다.


  • 댓글

    이 블로그의 인기 게시물

    (네트워크)폴링방식 vs 롱 폴링방식

    (ElasticSearch) 결과에서 순서 정렬

    (18장) WebSocekt과 STOMP를 사용하여 메시징하기