サーバーとクライアントの間にあるある種のゲートウェイを作成しようとしています。いわゆるゲートウェイは、クライアントから送信された一部のパケットをフィルタリングし、それらの 99% を転送することになっています。
ここに私の質問があります:
クライアントはゲートウェイへの新しいソケットを開きます。ゲートウェイからサーバーへのソケットを開き、後で使用するためにリストに保存します。ただし、ある状況では、すべての接続が同じ IP から来ているため、パケットをサーバーに転送するソケットを選択する際の選択肢が限られています。開いているソケットを区別するにはどうすればよいですか?
以前の状況から、毎秒約 500 のクライアントがパケットを送信すると予想しています。パフォーマンスに関しては、マルチスレッド モデルを使用するべきですか、それともシングル スレッド アプリケーションを使用するべきですか?
まだパフォーマンスの問題: C# と Python のどちらかを選択する必要があります。どちらがより良いパフォーマンスを提供する必要がありますか?