私はここで完全に途方に暮れています。昨日は一日中、昨夜は一晩中、自分のコードの何が問題なのかを突き止めようとしましたが、実際にはコンピューターに小さなグレムリンがあり、CPU をいじっていると思います。私はこのチュートリアルシリーズに従っていました:
http://www.youtube.com/watch?v=l1p21JWa_8s&list=ELp5mgUw5g9EY
それを一時停止して、独自のカスタム Packet クラスを作成するまで。しばらくは問題なく動作していましたが、その後、いくつかの非常に奇妙なことが起こり始めました。基本的に何が起こっているのかというと、クライアントとサーバーの間で送信されるデータが、受信時に何らかの形でごちゃ混ぜになっているということです (送信前にデータが正しいことを確認しました)。これは一見ランダムなポイントで発生し、今では困惑しています
たとえば、次の行がありました。
System.out.println( m_Game.m_aConnectedPlayers[ intPlayerID ].GetUserName( ) + " has joined." );
そしてそれをに変更しました
System.out.println( m_Game.m_aConnectedPlayers[ intPlayerID ].GetUserName( ) + "(" + intPlayerID + ") has joined." );
プレーヤー ID を含めるようにすると、3 番目のクライアントでサーバーに接続したときに、パケット データが乱れていました。また、これを入力しても、戻ってもう一度テストすることにしましたが、エラーは発生しなくなりました。何とかこれを理解できる人に +100 インターネット ポイントを付与します。これが私のプロジェクト全体です(私の厄介なコードを許してください) http://www.mediafire.com/?9w6god1cjsnwbnf