2010-07-28 5 views
0

저는 장고 기반 MMO를 개발하고 있으며, 서버 - 클라이언트 통신을위한 최선의 방법이 무엇인지 궁금합니다. 내가 찾은 솔루션은 다음과 같습니다온라인 게임 베스트 프랙티스

  • 정기 AJAX 살아 연결을 유지하고 그것을 통해 데이터를 전송
  • 를 호출

나중에 편집 :이에 구성 할

"을 설치해야 메시지 ","사용자 x가 당신을 공격했다 ","x 로의 수송이 도착했습니다 "와 같은 것들이 있습니다. 그들은 수의 증가 수 (/ 초 뭔가 같은 1)하지만, 일반적인 사용자들은 1/분에 도달하지 말아야

+0

다른 언어로 구현 될 수 개발자에게 을 허용하는 오픈 소스 서버 소프트웨어 MMO 게임의 요구를 모른 채 최선의 방법이 무엇인지 말할 수있는 방법은 없습니다. 이벤트가 클라이언트에게 표시되기까지 걸릴 수있는 소요 시간은 얼마이고, 얼마나 많은 이벤트/시간이 있습니까? – KillianDS

답변

-1

"걸려"쿼리를 포함하는 세 번째 방법도 있습니다 :

  • 클라이언트는이 요청이 업데이트 된 페이지 (또는 무엇이든)
  • 서버가 바로 응답하지 않습니다.
  • 요청 시간이 초과되기 전에 서버에 상태 업데이트가 있고 서버가 최종적으로 클라이언트에 응답 한 다음 업데이트 할 수 있습니다.
  • 업데이트 기간 내에 클라이언트에게 알려주는 것이 새로운 것이 아니라면 서버는 "뉴스 없음"메시지와 함께 시간 초과 전에 응답하고 클라이언트는 또 다른 "정지 요청"을 시작합니다.

장점 :

  • 클라이언트는 Ajax를 할 필요가 없습니다. 이와 같이 정규 HTML 페이지를 "대화식"으로 만들 수도 있습니다.
  • 아마도별로 의미없는 폴링 트래픽이 아닙니다.

단점 :

  • 서버가 열려 더 활성 연결을 유지하고, 적어도 한 번 시간 초과 기간 당을 서비스 할 필요가있다. 또한
  • 서버 코드가 멀티 스레딩을 얼마나 잘 지원하는지에 따라 (PHP는 어떤 도움을 제공합니까?) AJAX 응답 처리보다 코드 작성이 더 어려울 수 있습니다.
0

당신이 찾고있는 무슨에 적용 할 수 있는지 모르겠지만, 간단한 채팅 서비스를위한 Node.js를을 사용하여 경량 서버 - 클라이언트 통신의 꽤 좋은 라이브 예를 들어 거기되지 않음 :

http://chat.nodejs.org/

0

crossbar

크로스바에서 살펴볼 수 있습니다.IO는 느슨하게 결합 된 응용 프로그램 구성 요소 로 구성된 분산 시스템을 만들 소프트 실시간으로 소통하고 이 있습니다

관련 문제