1

Java でマルチプレイヤー ゲームを作成しており、クライアント/サーバー通信に tcp 接続を使用しています。ゲームに変更がある場合にのみパケットを送信するようにし、問題をグーグルで検索し、各送信後にオブジェクトストリームとソケットをフラッシュすることで、送信を最適化しようとしました。setTcpNoDelay を true に設定しました。しかし、私はまだ遅れを見ることができ、別のパケットが送信されるまで(私にはバッファリングのように聞こえます)、着信パケットが数秒間(時には永遠に(または私が待たなかった非常に長い期間))停止することがあります。ローカルホストでのみ、LAN経由でテストしませんでした。Minecraft は Java で書かれており、最小限のラグで非常にうまく動作することを知っているので、これを修正する方法があるはずです...

TCPクライアント/サーバー通信を高速化するために実装できる他のヒントはありますか?

編集: プレーヤー インスタンスにはプレーヤーの速度が含まれているため、2 つの着信パケットの間で、ゲームは最後の既知の位置から最後の既知の速度で他のプレーヤーを実行します。

4

0 に答える 0