2012-03-27 1 views
0

로컬 및 온라인 모두에서 재생할 수있는 카드 게임 인 Android 용 애플리케이션을 작성하고 싶습니다. 이는 우리가 클라이언트 (안드로이드 전화)와 서버를 보유하고 있음을 의미합니다. 이상적으로, 안드로이드 폰은 서버로 사용되어 게임을 호스트 할 수 있어야합니다 (동시에 재생할 수 있어야합니다). 나는 서버와 클라이언트 사이에 코드를 복제하고 싶지 않다.코드를 복제하지 않고도 서버로 사용할 수있는 클라이언트가있는 로컬 및 온라인 Android 게임

여기에 제가 생각한 것입니다. 응용 프로그램에 서버 부분이 포함되어 있으면 응용 프로그램 자체 또는 응용 프로그램없이 컴퓨터에서 실행할 수 있습니다. 로컬 게임에서 서버용 스레드와 클라이언트 용 (로컬 호스트를 통해 로컬 서버와 통신하는 스레드) 스레드가 실행됩니다. 온라인 게임에서 원격 서버가 실행 중이고 로컬 클라이언트가 네트워크를 통해 통신합니다.

내 질문은 :

  1. 내 응용 프로그램이 로컬 호스트를 통해 자체에서 오는 스레드와 통신 할 수 있습니까?
  2. 전체 응용 프로그램을 서버로 사용할 수 있습니까? 전화에서 서버 스레드를 실행 한 다음 클라이언트 스레드를 실행합니다 (하나가 필요합니까?). 먼 서버 (데스크톱 컴퓨터)에서, 나는 모든 안드로이드 것들 없이는 서버 스레드 만 실행할 것입니다.
  3. 다른 생각이 있으십니까?

나는이 문제를 충분히 이해할 수 있기를 바랍니다. 미리 감사드립니다.

+0

정확히 "서버와 클라이언트간에 코드를 복제하고 싶지 않습니다."라는 것은 정확히 무엇을 의미합니까? Android 앱과 데스크톱 앱에서 동일한 기능을 원한다면 현실적으로 어떤 종류의 중복 코드가 생길 것입니다. 또는 복사/붙여 넣기 코드를 원하지 않는다는 것을 의미합니까? – kabuko

+0

예, 단지 복사/붙여 넣기 코드를 원하지 않는다는 것을 의미합니다. 나는 이것을 할 수있는 편리한 방법을 찾고있다. – Niavlys

답변

0

예, 앱이 TCP 소켓을 통해 자체와 통신 할 수 있지만 이는 문제가되지 않습니다. 대부분의 서버 기능을 jar 파일에 넣는 방법을 살펴보고 Android APK가 있고 잠재적으로 데스크톱 용 Java 프론트 엔드가 필요하다고 생각합니다. 당신은 각 플랫폼에 특정한 작은 호스팅 코드가 필요할 것입니다. 백그라운드에서 호스트 할 수있게하려면 예를 들어 안드로이드 Service에 서버를 두는 것이 좋습니다.

+0

감사. 별도의 항아리는 흥미로운 솔루션처럼 들립니다. 자산 또는 res 폴더에 외부 파일로 포함되어 APK에서 시작됩니다. 그러나 서버 구축 - jar 파일 생성 - Android 프로젝트에서 jar 파일을 자동으로 업데이트하는 과정이 필요합니다. 나는 서버에서 작은 것을 바꾸고 싶을 때마다 수동으로 이것을 다시하고 싶지 않다. – Niavlys

관련 문제