1

UDPを使用してデータを送信する場合は、宛先ポートを指定する必要があります。

TCPで送信する場合は、送信元ポートも指定する必要があります。

入力用と出力用に異なるポートがありますか?たとえば、ポート1234を指定した場合、それを入力と出力の両方に使用できますか、それとも出力と入力に異なるポートを使用する必要がありますか?

編集:私の質問を明確にするために:-私はポートXからデータを送信します。-誰かが私にデータをポートXに送信します。これらの2つの異なるポートですか、それとも同じポートが使用されていますか?

4

3 に答える 3

2

UDP を使用してデータを送信する場合、宛先ポートを指定する必要があります。

正しい。

TCP で送信する場合は、送信元ポートも指定する必要があります。

正しくない。指定しない場合は、システムが自動的に割り当てます。これが通常の使い方です。

入力と出力に異なるポートはありますか?

いいえ。バインドされているローカル ポートが両方に使用されます。

そして、これはすべて UDP と TCP の両方に当てはまります。

于 2010-10-29T00:22:40.940 に答える
1

送信元ポートは、接続を開始しているコンピューターにのみ存在するポートであり、宛先ポートは、接続を受信して​​いるコンピューターにのみ存在します (ただし、両方のエンドポイントに表示されます)。TCP と UDP の両方に、送信元ポートと宛先ポートの両方があります。通常、送信元ポートは、コンピュータの未使用ポートからソケット ライブラリによって自動的に選択されます。特定の送信元ポートを選択する正当な理由はほとんどなく、多くの場合、ネットワーク アドレス変換 (NAT) プロセスの一部としてインターネット ゲートウェイ (ルーター) によって変更されます。

編集:明確にするために、送信元ポートと宛先ポートの両方が入力と出力の両方に使用されます。コンピューターのどのポートが使用されているかは、TCP 接続のどちらの端にいるかによって異なります。受信側にいる場合、宛先ポートはコンピューターにあります。接続を自分の視点から見ると、それがソース ポートになり、入力と出力の両方に使用されます。同じ原則が UDP にも当てはまりますが、「接続」自体がなく、ポート間の生データの交換だけである点が異なります。

于 2010-10-27T13:12:19.680 に答える
-1

TCPは2つのクライアント間の接続を形成するため、送信元ポートと宛先ポートの両方が必要ですが、UDPはコネクションレス型です。宛先ポートにデータを送信するだけで、データが到着するかどうかが決まります。

したがって、TCPを使用すると、2台のコンピューター間に「チャネル」を開くことができます。あなたはそれを通してデータを送り、そしておそらくいくらかを受け取ります。

UDPでは、データを受信する場合は、はい、着信データをリッスンする「個別の」ポートが必要です。

于 2010-10-27T13:17:09.770 に答える