0

私はlidgrenを使用してxnaネットワークゲームに取り組んでおり、クライアントとサーバーを接続できますが、クライアントがDiscoveryRequestの場合にメッセージを受信するたびに、IndexOutOfRangeExceptionエラーが発生します。

クライアントでメッセージを受信するためのコード:

while ((incMsg = client.ReadMessage()) != null)
        {
            switch (incMsg.MessageType)
            {
                case NetIncomingMessageType.Data:
                    Console.WriteLine("recieved message");
                    break;

                case NetIncomingMessageType.DiscoveryRequest:
                    Console.WriteLine("Connected",incMsg.ReadString());
                    client.Connect(incMsg.SenderEndpoint);
                    break;
                default:
                    Console.WriteLine("Unhandled type: " + incMsg.MessageType);
                    break;
            }
            client.Recycle(incMsg);
        }
4

1 に答える 1

1

かなり古い質問ですが、後世のために: DiscoveryRequest にはペイロードが含まれておらず、読み取る文字列がありません。詳細はこちら: https://code.google.com/p/lidgren-network-gen3/wiki/Discovery

于 2014-11-03T09:04:02.363 に答える