Tcp ソケットを使用するトラフィックの多いネットワーク プログラムに取り組んでいます。このシステムには 3 つのスレッドが必要だと思います。
- TCP メインリッスン: select() ベースの I/O 処理
- データ処理クラス:パケットの処理、出力データを送信するためのソケットの選択 (ゲーム/文字システムなど)
- Out data processing class:メソッドをブロックしている send() メソッドでデータを送信するので、ループ (while/for) を実装する必要があります。このループは処理に時間がかかり、データ処理が遅くなることはありません。このデータ処理クラスをソケット送信ループ用に実装します。
ここで、このようなネットワーク階層を実装しますが、アウト データ処理クラスを必ず作成することに注意してください。ネットワークパフォーマンスを向上させるためにこれが必要ですか? それ以外の場合、ネットワーク パフォーマンスを改善するための他の提案はありますか? (もしかしたら見えないものもあるかもしれません)
プラス:ゲームの RPC ポジショニング、カスタム リクエストなどの特別なパケットであるクライアントからの完全なパケットを処理するために、着信 Tcp パケットをパックしています。