国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

14.2 UDP編程

2021-09-30 08:41 作者:海鷗之道  | 我要投稿

TCP是建立可靠連接,并且通信雙方都可以以流的形式發(fā)送數(shù)據(jù)。相對TCP,UDP則是面向無連接的協(xié)議。

使用UDP協(xié)議時,不需要建立連接,只需要知道對方的IP地址和端口號,就可以直接發(fā)數(shù)據(jù)包。但是,能不能到達就不知道了。

雖然用UDP傳輸數(shù)據(jù)不可靠,但它的優(yōu)點是和TCP比,速度快,對于不要求可靠到達的數(shù)據(jù),就可以使用UDP協(xié)議。

我們來看看如何通過UDP協(xié)議傳輸數(shù)據(jù)。和TCP類似,使用UDP的通信雙方也分為客戶端和服務器。服務器首先需要綁定端口:

創(chuàng)建Socket時,SOCK_DGRAM指定了這個Socket的類型是UDP。綁定端口和TCP一樣,但是不需要調(diào)用listen()方法,而是直接接收來自任何客戶端的數(shù)據(jù):

recvfrom()方法返回數(shù)據(jù)和客戶端的地址與端口,這樣,服務器收到數(shù)據(jù)后,直接調(diào)用sendto()就可以把數(shù)據(jù)用UDP發(fā)給客戶端。

注意這里省掉了多線程,因為這個例子很簡單。

客戶端使用UDP時,首先仍然創(chuàng)建基于UDP的Socket,然后,不需要調(diào)用connect(),直接通過sendto()給服務器發(fā)數(shù)據(jù):

從服務器接收數(shù)據(jù)仍然調(diào)用recv()方法。

仍然用兩個命令行分別啟動服務器和客戶端測試,結(jié)果如下:

小結(jié)

UDP的使用與TCP類似,但是不需要建立連接。此外,服務器綁定UDP端口和TCP端口互不沖突,也就是說,UDP的9999端口與TCP的9999端口可以各自綁定。


14.2 UDP編程的評論 (共 條)

分享到微博請遵守國家法律
吴堡县| 民县| 策勒县| 平乡县| 乌拉特前旗| 桦川县| 策勒县| 临湘市| 凌云县| 武冈市| 临武县| 木兰县| 沧州市| 乌什县| 天峻县| 日喀则市| 思茅市| 巴东县| 宁都县| 常山县| 武川县| 花莲市| 安岳县| 金乡县| 朝阳县| 峨山| 泸州市| 灵璧县| 清苑县| 营山县| 嘉定区| 凤山市| 长治市| 博罗县| 瓦房店市| 渭源县| 淄博市| 托克逊县| 许昌市| 西吉县| 奉贤区|