TCP/UDP ポート番号とその文字列の説明のリストは次のとおりです。
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
これは、ポート番号をキー、文字列の説明を値とする HashMapの形式になっています。それほど大きくはないかもしれませんが、パケットが来るときにポートの説明をリアルタイムで検索する必要があります。ご想像のとおり、これには効率的な検索が必要です。そうしないと、処理が大幅に遅くなります。
最初は、巨大な switch case/break ロジックまたは if、else if を実装することを考えていましたが、それはあまりにもみすぼらしく聞こえたので、この hashMap を思いつきました。
Javaには、クエリが常に同じである場合に高速化するためのキャッシュメカニズムのようなものがありますか? ほとんどの場合、照会されるポートは 80、443、23、22 などであり、他のサービス タイプのパケットが到着することはめったにありません。
私のオプション:
最も一般的なタイプの最初にいくつかのelse-ifチェックを行い、以前に見つからなかった場合はこのhashMapに戻す必要があります
この hashMap を続行して検索を行う必要がありますか
これを行う他の賢い方法に戻す必要がありますか??
提案してください。