TCP和UDP的區別

2021-10-10 09:40:49 字數 2019 閱讀 3267

tcp協議和udp協議連線過程的區別

1.基於連線與無連線;

2.對系統資源的要求(tcp較多,udp少);

3.udp程式結構較簡單;

4.流模式與資料報模式 ;

5.tcp保證資料正確性,udp可能丟包,tcp保證資料順序,udp不保證。

socket - tcpclient,tcplistener,udpclient

應用程式可以通過 tcpclient、tcplistener 和 udpclient 類使用傳輸控制協議 (tcp) 和使用者資料文報協議 (udp) 服務。這些協議類建立在 system.net.sockets.socket 類的基礎之上,負責資料傳送的細節。(也就是說tcpclient、tcplistener 和 udpclient 類是用來簡化socket)

tcpclient 和 tcplistener 使用 networkstream 類表示網路。使用 getstream 方法返回網路流,然後呼叫該流的 read 和 write 方法。networkstream 不擁有協議類的基礎套接字,因此關閉它並不影響套接字。

udpclient 類使用位元組陣列儲存 udp 資料文報。使用 send 方法向網路傳送資料,使用 receive 方法接收傳入的資料文報。

**cplistener**

tcplistener 類提供一些簡單方法,用於在阻止同步模式下偵聽和接受傳入連線請求。可使用 tcpclient 或 socket 來連線 tcplistener。可使用 ipendpoint、本地 ip 位址及埠號或者僅使用埠號,來建立 tcplistener。可以將本地 ip 位址指定為any,將本地埠號指定為 0(如果希望基礎服務提供程式為您分配這些值)。如果您選擇這樣做,可在連線套接字後使用localendpoint 屬性來標識已指定的資訊。

start 方法用來開始偵聽傳入的連線請求。start 將對傳入連線進行排隊,直至您呼叫 stop 方法或它已經完成 maxconnections 排隊為止。可使用 acceptsocket 或 accepttcpclient 從傳入連線請求佇列提取連線。這兩種方法將阻止。如果要避免阻止,可首先使用 pending 方法來確定佇列中是否有可用的連線請求。

呼叫 stop 方法來關閉 tcplistener。

**tcpclient**

tcpclient 類提供了一些簡單的方法,用於在同步阻止模式下通過網路來連線、傳送和接收流資料。為使 tcpclient 連線並交換資料,使用 tcp protocoltype 建立的 tcplistener 或 socket 必須偵聽是否有傳入的連線請求。可以使用下面兩種方法之一連線到該偵聽器:

(1)建立乙個 tcpclient,並呼叫三個可用的 connect 方法之一。

(2)使用遠端主機的主機名和埠號建立 tcpclient。此建構函式將自動嘗試乙個連線。

給繼承者的說明要傳送和接收資料,請使用 getstream 方法來獲取乙個 networkstream。呼叫 networkstream 的 write 和read 方法與遠端主機之間傳送和接收資料。使用 close 方法釋放與 tcpclient 關聯的所有資源。

**udpclient**

udpclient 類提供了一些簡單的方法,用於在阻止同步模式下傳送和接收無連線 udp 資料報。因為 udp 是無連線傳輸協議,所以不需要在傳送和接收資料前建立遠端主機連線。但您可以選擇使用下面兩種方法之一來建立預設遠端主機:

使用遠端主機名和埠號作為引數建立 udpclient 類的例項。

建立 udpclient 類的例項,然後呼叫 connect 方法。

可以使用在 udpclient 中提供的任何一種傳送方法將資料傳送到遠端裝置。使用 receive 方法可以從遠端主機接收資料。

udpclient 方法還允許傳送和接收多路廣播資料報。使用 joinmulticastgroup 方法可以將 udpclient 預訂給多路廣播組。使用 dropmulticastgroup 方法可以從多路廣播組中取消對 udpclient 的預訂。

TCP和UDP的區別

tcp transimission control protocol 傳輸控制協議 和udp user datagram protocol 是傳輸層的兩種實現版本!它們之間提供基本的服務又各有所長。因此,根據對特定服務質量的要求,應用層軟體單元可以選擇通過傳輸層的tcp版本或者udp版本來傳輸資料。...

TCP和UDP的區別

tcp和udp都是傳輸層的協議,他們的區別主要如下 1 tcp,全名 傳輸控制協議 是面向連線的,也就是說在傳送方和接收方在傳送資料之前,必須通過三次握手建立連線,相當於現實生活中的打 功能,必須先撥號,接通後才能說話,udp,全名 使用者資料報協議 是無連線的,其中一方向向另一方傳送資料時不需要建...

TCP和UDP的區別

tcp transmission control protocol,傳輸控制協議 是基於連線的協議,也就是說,在正式收發資料前,必須和對方建立可靠的連線。乙個tcp連線必須要經過三次 對話 才能建立起來,其中的過程非常複雜,我們這裡只做簡單 形象的介紹,你只要做到能夠理解這個過程即可。我們來看看這三...