2010-12-04 3 views
5

Android 멀티 플레이어 실시간 게임을 개발하고 싶습니다. 그러나 나는 아직도 의사 소통을하는 가장 좋은 방법을 혼동하고 있습니다.Android 멀티 플레이어 실시간 게임, 최고의 프로토콜/통신은 무엇입니까?

  1. TCP
  2. UDP
  3. 아약스/혜성/메시징 서비스, 즉 pubnub.com, beaconpush.com
  4. 푸시 알림
  5. XMPP
  6. 안드로이드 클라우드 : 나는 몇 가지 옵션을 발견 To 장치 메시징
  7. Pubsubhubub 프로토콜
  8. Smartfoxserver

다른 실시간 게임이 어떻게했는지 궁금합니다. 나는 받아 들일만한 결과로 그것을하는 가장 일반적인 방법을 알고 싶다.

감사합니다. 감사!

+0

푸시 알림 (MQTT 살펴보기)을 사용 하겠지만 대부분의 서비스는 TCP를 사용합니다. 어쩌면 당신은 그 기술이 무엇인지 이해하기 위해 더 많은 것을 읽어야합니다. – Cristian

+0

MQTT에 대해 Christian에게 감사드립니다. 웹 개발 경험이 있지만 실시간 개발에 익숙합니다. – karl

+0

내가 익숙한 대형 멀티 플레이어 게임은 모두 네트워크 코드의 대량으로 UDP를 사용하고 있습니다. Everquest, EQ2, WoW, 반지의 제왕과 워해머. 그렇지 않으면 대기 시간이 너무 길어집니다. 많은 양의 데이터를 보낼 필요가 있고 시간에 민감하지 않은 경우 TCP가 사용됩니다. 영원한 플레이어 벤더 또는 와우 (WoW)의 은행 인터페이스에 대해 생각해보십시오. (제 생각에는 ...) – JimR

답변

1

일반적으로 UDP를 사용하고 더 많은 네트워크 문제를 처리하면 특정 목표에 대해 더 나은 성능을 얻을 수 있습니다. TCP와 그 위에 구축 된 멋진 것들은 연결된 세션의 의미와 함께 신뢰할 수 있고 순서가 설정된 통신을 제공하려고하지만 안정성을 보장하는 수단은 반드시 당신에게 가장 적합 할 수있는 것은 아닙니다. 반면에, 그들은 당신을 위해 더 많은 일을하기 때문에 더 쉽습니다.

+0

안녕하세요, Chris, 답장을 보내 주셔서 감사합니다. 그러나 나는 다른 실시간 게임이 어떻게하는지 궁금해. 그들은 UDP도 사용합니까? – karl

+0

일반적으로 실시간 게임은 필요에 따라 UDP 또는 TCP를 사용합니다. 예를 들어, 실시간 전략 게임은 패킷을 통과해야하기 때문에 TCP를 사용할 수 있습니다. 하지만 실시간 FPS는 UDP를 사용할 수 있습니다. 왜냐하면 몇 개의 드롭 된 패킷이 괜찮기 때문입니다. –

+0

알겠습니다. UDP를 실행하기 위해 서버를위한 특별한 소프트웨어가 필요합니까? pubnub.com과 같은 UDP 서비스를 제공하는 제 3자가 있습니까? "푸시 알림"을 ​​실시간 게임에 사용할 수 있다고 생각하십니까? – karl

관련 문제