自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

UDP套接字的作用和特點(diǎn)

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
本文我們介紹了UDP套接字的相關(guān)內(nèi)容。在UDP協(xié)議的應(yīng)用中,我們使用UDP套接字進(jìn)行更加高效和靈活的工作?,F(xiàn)在就讓我們一起來了解一下吧。

在UDP協(xié)議的應(yīng)用過程中,為了更加方便對(duì)于服務(wù)器以及客戶端的接觸,我們發(fā)現(xiàn)了UDP套接字的好處。那么什么是UDP套接字呢?現(xiàn)在我們就來簡(jiǎn)要對(duì)大家進(jìn)行一下介紹。

 UDP套接字

UDP協(xié)議提供了一種不同于TCP協(xié)議的端到端服務(wù)。實(shí)際上UDP協(xié)議只實(shí)現(xiàn)兩個(gè)功能:

1)在IP協(xié)議的基礎(chǔ)上添加了另一層地址(端口)

2)對(duì)數(shù)據(jù)傳輸過程中可能產(chǎn)生的數(shù)據(jù)錯(cuò)誤進(jìn)行了檢測(cè),并拋棄已經(jīng)損壞的數(shù)據(jù)。

由于其簡(jiǎn)單性,UDP套接字具有一些與我們之前所看到的TCP套接字不同的特征。

例如,UDP套接字在使用前不需要進(jìn)行連接。TCP協(xié)議與電話通信相似,而UDP協(xié)議則與郵件通信相似:你寄包裹或信件時(shí)不需要進(jìn)行"連接",但是你得為每個(gè)包裹和信件指定目的地址。類似的,每條信息(即數(shù)據(jù)報(bào)文,datagram)負(fù)載了自己的地址信息,并與其他信息相互獨(dú)立。在接收信息時(shí),UDP套接字扮演的角色就像是一個(gè)信箱,從不同地址發(fā)送來的信件和包裹都可以放到里面。一旦被創(chuàng)建,UDP套接字就可以用來連續(xù)地向不同的地址發(fā)送信息,或從任何地址接收信息。

UDP套接字與TCP套接字的另一個(gè)不同點(diǎn)在于他們對(duì)信息邊界的處理方式不同:UDP套接字將保留邊界信息。這個(gè)特性使應(yīng)用程序在接受信息時(shí),從某些方面來說比使用TCP套接字更簡(jiǎn)單。

最后一個(gè)不同點(diǎn)是,UDP協(xié)議所提供的端到端傳輸服務(wù)是盡力而為(best-effort)的,即UDP套接字將盡可能地傳送信息,但并不保證信息一定能成功到達(dá)目的地址,而且信息到達(dá)的順序與其發(fā)送順序不一定一致(就像通過郵政部門寄信一樣)。因此,使用了UDP套接字的程序必須準(zhǔn)備好處理信息的丟失和重排。(稍后我們將給出一個(gè)這樣的例子)

既然UDP協(xié)議為程序帶來了這個(gè)額外的負(fù)擔(dān),為什么還會(huì)使用它而不使用TCP協(xié)議呢?

原因之一是效率:如果應(yīng)用程序只交換非常少量的數(shù)據(jù),例如從客戶端到服務(wù)器端的簡(jiǎn)單請(qǐng)求消息,或一個(gè)反方向的響應(yīng)消息,TCP連接的建立階段就至少要傳輸其兩倍的信息量(還有兩倍的往返延遲時(shí)間)。

另一個(gè)原因是靈活性:如果除可靠的字節(jié)流服務(wù)外,還有其他的需求,UDP協(xié)議則提供了一個(gè)最小開銷的平臺(tái)來滿足任何需求的實(shí)現(xiàn)。

Java程序員通過DatagramPacket 類和 DatagramSocket類來使用UDP套接字??蛻舳撕头?wù)器端都使用DatagramSockets來發(fā)送數(shù)據(jù),使用DatagramPackets來接收數(shù)據(jù)。

責(zé)任編輯:佟健 來源: IBM
相關(guān)推薦

2014-12-15 09:28:54

UDP

2010-06-28 10:57:07

UDP協(xié)議

2010-07-06 17:02:06

LDP協(xié)議

2010-07-09 09:29:00

UDP協(xié)議

2019-06-04 09:00:00

Linux進(jìn)程進(jìn)程間通信

2010-06-13 15:42:24

UDP協(xié)議

2010-07-07 11:29:28

UDP協(xié)議特點(diǎn)

2012-01-06 13:58:47

JavaTCP

2014-12-11 09:20:30

TCP

2009-03-10 13:59:41

C#套接字編程

2009-08-21 09:20:44

C#異步套接字

2009-08-26 09:48:48

C#異步套接字

2017-01-16 09:26:07

2021-02-05 15:20:06

網(wǎng)絡(luò)安全套接字命令

2010-07-07 10:42:36

TCP UDP協(xié)議

2020-10-15 19:10:05

LinuxAPI函數(shù)

2021-03-14 18:22:23

套接字網(wǎng)絡(luò)通信

2015-11-10 16:10:22

C語言StaticConst

2015-03-31 11:24:02

2015-10-16 09:33:26

TCPIP網(wǎng)絡(luò)協(xié)議
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)