2011-01-24 2 views
1

시나리오 : 기본적으로 사용자는 호스트 게임을 클릭하여 다른 사람을 기다리는 로비에 넣거나 사용자가 게임에 참가하기를 원하고 게임 화면에. 이 게임은 C# .Net 3.5에서 만들어지고 있습니다.호스트 게임/가입 게임 설정을위한 TCPClient

문제 : 네트워크상의 서버 목록을 얻는 데 도움이 필요합니다. 이것은 모두 LAN을 통해 수행됩니다. 우리는 서버/클라이언트가 서로 대화 할 수있게해야하므로 서버 목록 만 있으면된다.

도움을 주시면 감사하겠습니다. TIA.

답변

1

이렇게하는 데는 여러 가지 방법이 있으므로 최선의 방법이 하나도 없습니다.

내 머리 위로 서버가 현재 실행중인 게임, 호스트 및 기타 정보를 설명하는 UDP 브로드 캐스트를 보낼 수 있습니다.

그러면 클라이언트가 지정된 포트에서 이러한 브로드 캐스트를 수신하여 서버/게임 목록을 작성하고 새로 고칠 수 있습니다.

+0

소켓으로 할 수 있습니까? – Gage

+0

예. .NET 소켓을 사용해야합니다. 이 Stackoverflow 질문 http://stackoverflow.com/questions/635687/listening-to-a-udp-broadcast-with-threads 및 대답의 MSDN 링크를 사용 방법을 보여줍니다. – tenor

1

LAN을 통하는 것이 든 인터넷을 통하는 것이 든, 마스터 서버에 관한 것입니다. 유일한 작업은 실행중인 게임에 대한 디렉토리를 제공하는 것입니다.

  1. 게임에 대한 디렉터리 역할을하는 마스터 서버 프로그램을 만듭니다.
  2. 누군가 게임을 호스트 할 때마다 IP 주소 및 기타 관련 정보를 제공하는 마스터 서버에 연결됩니다.
  3. 클라이언트는 알고있는 모든 게임의 목록을 반환하는 마스터 서버에 연결합니다.

이것은 매우 쉽기 때문에 게임 정보와 같은 추가 정보를 추가 할 수 있습니다. 모든 마스터 서버는 LAN의 나머지 게임에 대한 디렉토리 역할을합니다.

관련 문제