2012-02-24 2 views
0

동생이이 카드 게임을 사용하여 가족과 원격으로 게임을하고 있습니다. Windows와 같은 종류의 마음입니다. 게임의 지루한 규칙을 설명 할 필요가 없도록 하트라고 가정합시다.다른 사용자가 전화를 걸면 웹 서비스 발신자에게 "알리십시오"서버

플레이어가 3 명 이상되며 차례대로 바닥에 카드를 던집니다.

데이터베이스 및 비즈니스 로직이있는 클래스 라이브러리가 있고 데이터베이스에서 읽기/쓰기가 가능합니다.

  • 선수
  • 시작 게임
  • 확인 게임 상태는 => 바닥에 무엇 돌아 가기를 추가

    • 새로운 게임 :

      은 지금은 몇 가지 기능을 가지고 , 어떤 카드가 발신자의 손에 있는지, 얼마나 많은 카드가 상대방의 카드인지, 호스트, 호스트 등을 설정합니다.

    • 이동 이동 => 사용자가 서버에 특정 카드를 사용하고자 함을 알립니다.

    클래스 라이브러리와 WebMethods를 사용하여 각 함수를 호출하는 웹 서비스가 있습니다. 웹 페이지/독립형 exe는 클래스 라이브러리를 직접 사용하거나 함수를 사용하기 위해 웹 서비스를 호출 할 수 있습니다.

    다른 사용자가 작업을 수행했다는 것을 다른 사용자에게 "알리는"디자인이 필요합니다. 나는 생각했다 가능한 논리 : 일

  • 전화 웹 방법은 콜백 기능을 비동기 적으로 "일을 변경 한 경우 알려주세요"하면

    • 전화 체크 게임 상태 매 x 초 확인합니다.
      • 시간이 초과되면 어떻게됩니까?
      • 사용자가 게임을 중간에 맡으면 어떻게 될까요?

    제발 도와주세요.

  • +1

    정확히 이런 종류의 설계되었습니다는 당신은 안 ASMX 서비스를 사용하고 있어야합니다. 대신 WCF를 사용해야합니다. 다른 많은 기능 중에서 WCF는 피어 투 피어 및 통보 이중 통신 채널을 지원합니다. –

    +0

    뒤돌아 보면,이 간단한 조언은 많은 도움이되었습니다. – ToBeDeleted

    답변

    0

    많은 수의 클라이언트가없는 한 서비스 폴링을 허용 할 수 있습니다. 또한 각 클라이언트는 WS에 "하트 비트"신호를 보내어 "예. 계속 연결됨"을 나타낼 수 있습니다. 이 방식으로 연결이 끊어진 클라이언트를 감지 할 수 있습니다. 당신이 폴링하지 않으려면, 당신은 푸시 알림으로

    볼 수 있습니다 : http://msdn.microsoft.com/en-us/library/windows/apps/hh465460.aspx

    관련 문제