簡體   English   中英

是否可以使用具有不同端口的相同 ip 地址,每個端口用於特定協議(TCP 和 UDP)?

[英]Is it possible to use the same ip address with different ports, each port for a specific protocol (TCP and UDP)?

是否有可能一個應用程序使用相同的 Ip @ 並使用不同的協議 TCP 和 UDP 連接到三個不同的應用程序?

此致,

TCP 和 UDP 的端口空間不同,因為它們是不同的協議。 沒有什么(但值的范圍,從 1 到 65535)使它們可以互換。 但是在 TCP 和 UDP select 中互操作的許多服務將相同的端口號(如果可用,請在 IANA 中查找分配的號碼)到相同的服務。 Anyway, being TCP a connection oriented, reliable protocol, without frame delimitation and UDP unreliable, packet delimited protocol, it is no much sense to use udp for some protocol if it is only specified for TCP media, or the reverse.

TCP 和 UDP 都可以在主機的任何(或所有)接口中偵聽數據包,因此為了允許多個不同的 UDP/TCP 服務在每個接口中運行,協議指定了端口復用/解復用功能(端口號)這就是讓 kernel 決定將來自網絡的數據(解復用)傳遞到哪個套接字以及允許所有數據包(復用)共享相同介質(網絡線)的原因

是的,一個應用程序可以有多個使用不同端口和協議的網絡連接,它們都在同一個 IP 地址上。

只需打開幾個 sockets 及其特定選項即可。

“棘手”的事情是確保所有 sockets 都被讀取和寫入。 您可能需要線程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM