UDP経由でLAN上に2台以上のコンピュータがある場合、それらのコンピュータは同じポートを使用して相互にメッセージを受信できる必要がありますか?たとえば、私のデスクトップがポート1550を使用してメッセージを送信していて、LAN上にあるノートブックがポート3746を使用してメッセージを聞いたり受信したりしているとします。このような状況で宛先IPだけを使用して送信することはできますか?そうでなければ、各コンピュータは受信者のポートを知っていなければならないでしょうか?異なるUDPポートを持つネットワークコンピュータ上でパケットを送受信する場合
1
A
答えて
4
UDPまたはTCPエンドポイントの場合は、アドレスとポートを設定する必要があります。イニシエータは、送信するアドレスポートを知っていなければなりません。受信者はgetpeername()呼び出しを使用して送信者のアドレスとポートの組み合わせを判断し、この情報を使用して応答メッセージのアドレス構造を構築できます。 2人は同じポート番号を使用する必要はありません。
1
2
do they all have to be using the same port to be able to receive messages from one another
いいえサーバーとクライアントが同じポート番号を使用する必要はありません。確かにこれは一般的に実行不可能です。しかし、各送信者は、所望の受信機のポート番号を知っていなければならない。応答の場合、要求には送信元アドレスとポートが入っています。要求の場合、クライアントはすでに何らかの形でサーバのIP:ポートを知っていなければなりません。
関連する問題
- 1. .NETでUDPパケットを送受信する
- 2. アンドロイドでUDPパケットを受信
- 3. 同じポートでUDPを送受信する方法は?
- 4. UDPパケットの送受信に関するヘルプ - Cソケット
- 5. Javaを使用してUDPパケットを送受信しますか?
- 6. VSTでUDPを送受信する
- 7. Pythonで間違ったチェックサムでUDPパケットを受信する
- 8. マルチホームマシン上でJavaでUDPパケットを送受信するにはどうすればよいですか?
- 9. Pythonで受信UDPパケットのTTLを取得する
- 10. UDPの送信/受信
- 11. UDPパケットを送信し、CのルータからICMP応答を受信
- 12. UDPソケットデータグラム受信パケット2倍で完全なメッセージを取得
- 13. UDPパケットを送信してJavaで応答を受信する必要があります
- 14. UDPブロードキャストをPHPから送信し、C#で受信する
- 15. 連続してudpパケットを送信する方法GCDAsyncUdpSocket
- 16. セカンダリインターフェイスでUDP/IPv6パケットを受信できません
- 17. リモートUDPを送受信します。
- 18. tracerouteがICMPパケットではなくUDPパケットを送信するのはなぜですか?
- 19. ポート80/TCP上で送信トラフィックを許可するサーバーファイアウォールもポート80/UDPで許可されますか?
- 20. パケット送信/受信の処理方法
- 21. UDPサーバーでパケットを受信すると接続がリセットされる
- 22. Udpソケット安定送信、バースト受信
- 23. udpブロードキャストパケットを受信する
- 24. ポート2368からUDPストリームを受信できません(Linux)C
- 25. C#UDPリスナーは、別のプログラムが何かを送信するまでパケットを受け付けません。
- 26. クライアント/サーバアプリケーションに異なるポートを使用する場合
- 27. UDPデータを受信する特定のIPアドレスとポートにバインドする
- 28. LinuxでUDPブロードキャストパケットを受信
- 29. マルチホームシステムでUDPブロードキャストを受信
- 30. ネットワークカードからUDPパッケージを送受信する方法は?
'UDP'では、データを受信すると同時に送信者のアドレスを取得するために' recvmsg() 'を使うのが普通です。 – caf