UDP パケット (512 バイト) を介してプレイヤー情報をリモート サーバーに送信するゲーム用のプラグインを Lua でプログラムしました。リモート サーバーは、パケットからデータを読み取り、すべてのプレイヤー情報を xml ファイルに集約します (このファイルは、お互いの現在の状態を確認できるように、すべてのプレイヤーが Web を使用します)。
着信パケットを処理するために DatagramSocket を使用して Java でサーバーをプログラミングしましたが、奇妙な動作に気付きました。一定の時間が経過すると、DatagramSocket は約 10 ~ 12 秒間、一時的に接続の受け入れを停止したように見えますが、その後、通常の動作を再開します (私が見ることができる例外はスローされません)。クライアントがパケットを送信する頻度と、この動作が発生する速度との間には、確実に関係があります。クライアントの更新頻度を上げると、DatagramSocket はより早く「失敗」します。
言及する価値があるかもしれませんが、受信した各パケットは、パケット内のデータを処理するスレッドを生成します。違いがあれば、Linuxでサーバーを実行しています!
この種の動作が発生する原因を知っている人はいますか?
アンドリュー