0

現在、ポート 1025 でネットワーク経由のリクエストをリッスンするアプリケーションをテストしています。このポートは任意に選択しましたが、簡単に変更できます。私の懸念は、アプリケーションがそのポートでリッスンしている他のシステム プロセスと衝突することです。私の2つの主な質問は次のとおりです。

  1. アプリケーションと競合する可能性のあるポート 1025 を使用する一般的なシステム プロセスはありますか?
  2. 1) に対する答えが「はい」であると仮定すると、アプリケーションが安全に利用できる、あまり使用されていない別のポートまたはポートの範囲は何ですか?
4

2 に答える 2

1

この範囲内のポートは49152 – 65535どの企業も登録できないため、ポートの競合に関する問題が発生する可能性は低くなります。

登録されたポートなどのリストは、このウィキペディアのリンクで見つけることができます

ウィキペディアが気に入らない場合は、Internet Assigned Numbers Authority (IANA) のこのリンクをチェックしてください。

于 2012-05-14T17:10:21.887 に答える
0

ほとんどの場合、これで済みます。たとえば、アプリケーションの複数のインスタンス (リスナー) を同じ IP アドレスで実行する必要がある場合でも、ポートの衝突は引き続き発生します。このケースを克服するには、ソケットをポート 0 (= 任意のポート) にバインドして、システムにポート番号を割り当てさせることができます。次に、getsockname() (BSD ソケット API) または同等のものを使用して、システムがソケットに割り当てた実際のポート番号を取得できます。その欠点は明らかに、ポート番号が毎回変わることです。リッスン ポートをコネクタに (手動で、プログラムで、または体系的に) 伝える方法が必要です。実際、多くの VoIP/ピアツーピア アプリケーションは、「ランデブー」サーバーの助けを借りてこのように動作します。

于 2012-05-17T06:39:30.013 に答える