質問

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

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

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

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

役に立ちましたか?

解決

  

UDPを使用してデータを送信し、A   宛先ポートがあることを必要とされています   指定されています。

正しいます。

  

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

が正しくありません。指定されていない場合、システムは自動的に1が割り当てられます。これは、通常の使用である。

  

が、入力と出力のための別のポートはありますか?

はありません。あなたがにバインドされているローカルポートが両方に使用されます。

そして、すべてこれはUDPとTCPの両方に適用されます。

他のヒント

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

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

それは2つのクライアント間で接続を形成するため、UDPはコネクションであるのに対し、

TCPは、送信元と宛先のポートの両方を必要とします。あなたは、単に宛先ポートにデータを送信し、それがいずれかの届くかどうか。

だから、TCPで、次の2台のコンピュータ間で「チャンネル」を開きます。あなたはそれを介してデータを送信し、おそらくいくつかのバックを受け取ります。

UDPでは、あなたがしたい場合に、の受信のデータ、あなたは「別の」ポートを必要とする[はいその着信データをリッスンします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top