0

ローカル マシンでソケットを使用して C# のサーバー テスト プログラムにクライアントを接続しようとしています。ただし、試行するすべてのポート番号に対して「サーバーがアクティブに接続を拒否しました」というエラーが表示されます。

サンプルのクライアントとサーバー間のソケットをテストできるように、有効なポート番号を選択するにはどうすればよいですか? 有効なポート番号はありますか? このシナリオに使用できますか?

4

1 に答える 1

1

選択したサーバーの目的のポートにバインドできない可能性が最も高い理由は次のとおりです。

  • システムには、問題のポートでのアウトバウンド接続を防ぐように構成されたファイアウォールがあります。
  • ネットワークは、ファイアウォールまたはプロキシ/ゲートウェイを介してそのような制限を課しています。

  • サーバーのネットワークは、ファイアウォールまたはプロキシ/ゲートウェイを介して、問題のポートでのインバウンド接続を許可しません。

  • サーバー自体はファイアウォールで保護されており、問題のポートでの受信接続を許可しません。

最後に、問題のデーモンがサーバー上で実行されていない可能性は常にあります。

ポートを確認します。

  • 0 ~ 1023 (0x000 ~ 0x03FF)
    は「well-known ポート」用に予約されており、通常、少なくともサーバー側では一定の制限があります。クライアントが既知のポートを使用するために特別なアクセス許可を要求することはあまり意味がありません。

  • 1024–65535 (0x0400–0xFFFF)
    は、誰でも使用できると推定されています。

    ただし...すべてのシステムには、通常は使用しない一時ポートとして指定された一連のポートがあります。Berkeley ソケットは一時的な範囲として 1024 ~ 4999 を使用しましたが、その範囲はシステムによって異なり、[通常] 構成可能です。

于 2012-08-31T16:53:57.183 に答える