0

これらのポートに他のサーバーに接続できるいくつかのレガシー C++ アプリケーションがありますが、tcpclient を使用して接続を作成する (むしろ作成しようとする) と、ポートに対して「ArgumentOutOfRangeException」が発生します。ポートを 8000 などに変更すると問題なく動作しますが、レガシー アプリがこれらのポートで動作しているため、このままにしておくことはできません。

これに TcpClient を使用しないでください。TcpClient を使用する別の方法はありますか? ありがとう

サンプルコードは次のとおりです。

 const int port = 80011;
 client.Connect(addressTxt.Text, port);

有効なIPアドレスと有効なポートを使用すると、ポート80011またはそれ以上のポートを使用して接続が確立され、例外がスローされます(65536を超えるポートはすべてこの例外をスローします)。

4

1 に答える 1

0

既にお気づきのように、ポートは 0 ~ 65535 の範囲にしか設定できません。16 ビット番号に収まらないポート番号は使用できません。

詳細については、TCP ヘッダー形式を参照してください: http://www.freesoft.org/CIE/Course/Section4/8.htm

于 2013-05-30T18:34:27.083 に答える