最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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編程的評論 (共 條)

分享到微博請遵守國家法律
武邑县| 布拖县| 甘南县| 南华县| 昌乐县| 伊宁市| 吉木乃县| 勃利县| 平湖市| 乌海市| 昌图县| 江安县| 吉隆县| 上思县| 雅江县| 江门市| 青浦区| 乐都县| 麻阳| 兴安县| 长子县| 岳西县| 称多县| 锡林浩特市| 忻州市| 西乌珠穆沁旗| 盈江县| 苗栗市| 潜山县| 光山县| 中卫市| 彭水| 永福县| 汶上县| 盱眙县| 贡觉县| 沐川县| 镇康县| 祁东县| 深圳市| 从化市|