마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

실시간 대전 게임을 만드려는데 통신 방식을 뭘로 하는게 좋은가요?

0 추천
방을 만들고 그 방 안에서 4명 정도가 실시간으로 대전 하는

테트리스나 포트리스 같은 앱을 개발 하려고 합니다.

주로 통신할 데이터는 터치 이벤트에서 발생하는 정보와 채팅입니다.

이런 데이터를 실시간으로 빠르게 주고 받으려면 어떤 통신 방식을 선택 하는 것이 좋은가요?

빠르게 간단한 데이터를 주고 받는 것이니 소켓 방식이 좋은가요?

아니면 다른 앱에서 많이들 쓰는 http방식이 좋은가요?

또는 그 외에 다른 좋은 방법이 있나요?
익명사용자 님이 2013년 8월 12일 질문

2개의 답변

0 추천
 
채택된 답변
물론 TCP/IP 통신을하게되면 Server와 앱간에 지속적인 연결이 되어 있기때문에 상호간의 리액션? 소통이 원할 하게 진행 될수 있는 장점이 있습니다. 그러나 이 유지를 계속 유지 해줘야하기때문에 이부분이 어려울 수 있습니다.

반면에 HTTP 방식으로 이용하는 방법은 앱에서 사용자가 필요한 데이터를 서버에 요청할경우 다시 리턴하는 방법을 할 수 있을것같습니다. 그러나 이방법은 사용자가 데이터를 요청할때에만 데이터를 넘겨 줄수 있다는 단점이 있습니다.

 

즉, 제생각이지만  두가지 방법을 동시에 사용하려면

소켓 방식 보다는 push서버를 이용하여 사용자에게 특정 데이터를 넘겨주는 방식을 해야하며 HTTP방식으로 사용자가 필요한 데이터를 요청하면 넘겨 줄 수 있는 php 페이지를 제작 해야한다고 생각합니다.  

 php, jsp -> mssql, mysql--> 서버  <-----  xml, json  -----> 앱   <-- 데이터 파싱, DB

제 생각이지만 구현하는 방식이 모두 다르기 때문에 어떻게 생각할지 모르겠네여... ;;;;
웅바라지 (4,780 포인트) 님이 2013년 8월 12일 답변
포트폴리오용으로 빠르게 만드려는 거라서 기존에 썻던 소켓 방식으로 해야겠네요. jsp랑 JSON은 써봤지만 push 서버를 만들어 본적이 없어서요.. 답변 감사합니다
0 추천
빠르게 실시간으로 데이터를 주고 받으려면 소켓통신이죠
http 통신으로 한다면 최소한 0.1초 간격으로 계속 다시 호출해줘야 할텐데 
아무래도 메모리 관련 이슈가 생길 듯 합니다.
Gradler (109,780 포인트) 님이 2013년 8월 12일 답변
음.. 역시 그냥 소켓을 써야 할 것 같네요. 답변 감사합니다.
...