LAN 또는 인터넷을 통한 데이터 전송
XNA Game Studio로 네트워크 게임을 만들 때 사용할 수있는 온라인 멀티 플레이어 게임 에는 두 가지 유형이 있습니다 .
- 시스템 링크 게임 세션 (LAN)
- 라이브 세션. (인터넷)
사용 가능한 세션 유형 :
- 근거리 통신망 게임 플레이에 시스템 링크 사용
- Xbox LIVE 및 Games for Windows-LIVE 서버에 로그인
- 게임을 개발하는 동안 인터넷을 통해 LIVE를 사용하여 다른 컴퓨터에 연결
연결된 Xbox와 PC 장치 간의 데이터 전송 은 LocalNetworkGamer 클래스 (Xbox 360에서 지원됨)를 사용하여 구현되며 다음과 같이 PacketWriter를 사용하여 기록됩니다.
foreach (LocalNetworkGamer gamer in session.LocalGamers)
{
// Get the tank associated with this player.
Tank myTank = gamer.Tag as Tank;
// Write the data.
packetWriter.Write(myTank.Position);
packetWriter.Write(myTank.TankRotation);
packetWriter.Write(myTank.TurretRotation);
packetWriter.Write(myTank.IsFiring);
packetWriter.Write(myTank.Health);
// Send it to everyone.
gamer.SendData(packetWriter, SendDataOptions.None);
}
네트워크 토폴로지
시스템 링크 게임의 경우 다음 하드웨어 구성 중 하나를 사용 하여 네트워크 게임을 테스트 할 수 있습니다 .
개발 컴퓨터 1 대와 Xbox 360 1 대 (개발 컴퓨터 및 Xbox 360
에서 게임 인스턴스 1 개 실행) 제작자는 Xbox 360에서 코드를 실행하려면 Xbox LIVE Silver 1 개와 Creators Club 멤버십 1 개가 필요합니다.
개발 컴퓨터 1 대와 클라이언트 컴퓨터 1 대
(각 컴퓨터에서 게임 인스턴스 1 개씩 실행) 제작자는 동일한 컴퓨터에서 두 개의 네트워크로 연결된 XNA Framework 게임을 동시에 실행할 수 없습니다. 제작자는 테스트 목적으로 두 번째 게임 인스턴스를 실행하려면 두 번째 컴퓨터가 필요합니다. 이 시나리오에는 Xbox LIVE 멤버십 또는 Creators Club 멤버십이 필요하지 않습니다.
개발 컴퓨터 1 대와 Xbox 360 본체 2 대
(각 Xbox 360에서 게임 인스턴스 1 개씩 실행) 여기서 제작자는 두 개의 Xbox 360에서 게임을 배포하고 디버깅합니다. 제작자는이 시나리오를 위해 Xbox LIVE Silver 멤버십 2 개 이상과 Creators Club 멤버십 2 개 (Xbox 360 당 한 쌍)가 필요합니다.
네트워크를 통한 음성 전송
음성 데이터 는 타이틀 작업없이 자동으로 전송 및 재생됩니다. 타이틀을 사용하여 팀 채팅 또는 근접 음성을 구현할 수 있습니다.
XNA Framework는 음성 데이터 스트림에 대한 직접 프로그램 액세스를 제공하지 않습니다.
- 그들은 음성 액세스가 있습니까? -NetworkGamer.HasVoice
- 그들은 현재 말하고 있습니까? -NetworkGamer.IsTalking
- 음소거 되었습니까? -NetworkGamer.IsMutedByLocalUser