2012-09-19 4 views
0

지난 학기에 LudoJavaScriptHTML/CSS으로 개발해야했습니다. 그것은 꽤 쉬웠다. 이제 다중 플레이어 게임을 만들기 위해 GWT (Java)이라는 백엔드를 개발해야합니다. 슬프게도 우리는 GWT로 개발하는 방법에 대한 많은 정보를 얻지 못했고 처음에는 운동이 어렵습니다.클라이언트에게 서버 정보 보내기

지금은 다른 플레이어가 참여할 수있는 일종의 로비를 만들려고합니다. 제 아이디어는 플레이어가 자신의 이름을 입력하고 로비에 참여할 수있는 입력 필드를 사용하는 것이 었습니다. 그러나 나는 다른 클라이언트에게 새로운 플레이어가 합류 한 정보를주는 방법을 모른다.

플레이어가 서버에 자신의 이름을 제출할 수있는 곳에서 asynchronous interfaces (RPC)을 만들었습니다 (this 예와 같이). 이게 괜찮아. 그러나이 정보를 어떻게 공유해야합니까? 우리의 docent는 JSON을 사용하여 정보를 공유해야한다고 말했지만이 상황에서 어떻게 도움이 될지 모르겠습니다. 클라이언트에게 정보를 보내는 방법이 있습니까? 나는 많은 것을 읽고 단지 gwt 혜성으로 추가 라이브러리를 사용하는 것을 발견한다.

나는 지금 내가 어떻게 계속할 수 있는지에 대해 단서를 댔다. 모든 도움과 정보에 감사드립니다!

인사말

+1

혜성은 분명히 당신이 필요로하는 것을 여기에서보십시오 : http://stackoverflow.com/questions/11206985/communication-client-server-client. –

답변

1

두 가지 옵션이 있습니다. 밀기와 당기기가 있습니다.

옵션을 "당겨"그들은 로비에 가입 및/또는 다른 일을 할 때

다른 플레이어가 필요한 정보를 얻을 수 있습니다. 이 정보를 주기적으로 가져 오도록 예약 할 수도 있습니다 (예 : 10 분마다 한 번). 동일한 RPC 메커니즘을 사용하여 서버에서 클라이언트로 데이터를 가져올 수 있습니다. "당겨"는 클라이언트가 요청을 시작하고 서버가 정보로 응답 함을 의미합니다.

"푸시"옵션 : 새 플레이어가 참여하면

는, 서버는 다른 모든 선수들에게이 새로운 데이터를 푸시합니다. 최상의 솔루션은 게임 구현에 따라 다릅니다. Jeet-Michel이 언급했듯이 혜성은 좋은 선택이지만 자원의 관점에서 볼 때 더 복잡하고 "비쌉니다". 게임의 실시간 상태 업데이트가 필요한 경우이 옵션을 사용해야합니다.

0

특히 ErraiErraiBus을 제안합니다. Java 관점에서 이벤트 버스 (관찰자 GoF 패턴)를 통해 일부 이벤트 만 전송하고 Ajax Push을 가진 모든 마법은 백그라운드에서 발생합니다.

관련 문제