2016-03-26 12 views
0

私は現在C#でマルチプレイヤーFPSゲームをプログラミングしていますが、クライアントには何か変わったことがあります。新しい弾丸接続しているすべてのユーザーにパケットが、この例外がスローされます。リファレンスが設定されているにもかかわらず、オブジェクト参照が例外設定されていません

enter image description here

参照ライン94:私は、パケットデータの最後の部分にアクセスしようと、!によって分割の位置が含まれていますカーソルを弾かなければなりません。

Parts[2]が定義されていることがはっきりと分かりましたが(デバッグの詳細を見ると、それは"612,311"ですが、アクセスしようとしたときにもこの例外がスローされます)。

なぜ機能しないのですか?

答えて

1

アプリケーションはマルチスレッドですか?受信者がそれを処理する前に、それを変更している可能性のある同じメッセージを受信して​​いるのですか? Messageは、その値をリセットする可能性のあるクラスのメンバー変数ですか?

あなたが見ていることは不可能です。それが起こると、シングルスレッドアプリケーションでは不可能になることはよくありますが、複数のスレッドが同じ変数にアクセスしている場合には可能です。

+0

ありがとう、私はとにかくサーバーパケットの送信の形式を修正することによって解決しました! – BlueRay101

関連する問題