XNA と Lidgren Networking Library を使用してオンライン ゲームを作成しようとしています。ただし、現在、エラーが発生せずにメッセージを送受信するのに問題があります。
次のようにクライアントにメッセージを送信します。
if (btnStart.isClicked && p1Ready == "Ready")
{
btnStart.isClicked = false;
NetOutgoingMessage om = server.CreateMessage();
CurrentGameState = GameState.City;
om.Write((byte)PacketTypes.Start);
server.SendMessage(om, server.Connections, NetDeliveryMethod.Unreliable, 0);
numPlayers = 2;
Console.WriteLine("Game started.");
}
ここで、PacketTypes.Start は、異なるメッセージを区別するために設定された列挙型の一部です。
クライアントはこのメッセージを次のように受け取ります。
if (joining)
{
NetIncomingMessage incMsg;
while ((incMsg = client.ReadMessage()) != null)
{
switch (incMsg.MessageType)
{
case NetIncomingMessageType.Data:
if (incMsg.ReadByte() == (byte)PacketTypes.Ready)
{
p1Ready = "Ready";
}
else if (incMsg.ReadByte() == (byte)PacketTypes.Start)
{
CurrentGameState = GameState.City;
Console.WriteLine("Game started");
numPlayers = 2;
}
break;
default:
Console.WriteLine("Server not found, Retrying...");
break;
}
}
}
しかし、何を試しても、まだそのエラーが発生します。どうぞ、どんな助けでも大歓迎です。