日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络编程 UDP套接字

發(fā)布時(shí)間:2025/3/18 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络编程 UDP套接字 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第十二章 UDP套接字

12.1 前言

上一章講述了TCP通信方式,它是基于流的面向連接的網(wǎng)絡(luò)通信。UDP是IP協(xié)議上的另一種傳輸協(xié)議。

TCP和UDP都是端到端的通信協(xié)議,都處于TCP/IP網(wǎng)絡(luò)模型的第三層(傳輸層)。

它和TCP的區(qū)別是:

TCPUDP解釋
基于流基于報(bào)文?
有連接無連接?
有保障無保障?
效率低效率高?
適用穩(wěn)定傳輸場合適合允許報(bào)文丟失的場合?

12.2 創(chuàng)建UDP socket

int?sockfd?=?socket(AF_INET,?SOCK_DGRAM,?0);

12.2 綁定地址

綁定地址和TCP一樣

12.3 發(fā)送和接收

調(diào)用的接口和TCP不一樣,行為不同。TCP的發(fā)送會(huì)發(fā)生粘包情況,而UDP不會(huì)。TCP發(fā)送認(rèn)為是可靠的,而UDP的發(fā)送可能會(huì)發(fā)生丟失和亂序。

UDP的發(fā)送大部分時(shí)候使用sendto,因?yàn)閟end函數(shù)沒有提供目標(biāo)地址。如果UDP socket調(diào)用了connect函數(shù),也可以使用send函數(shù)。

12.4 廣播和多播(組播)

由于UDP沒有連接,所以可以支持廣播和多播。

12.5 關(guān)閉socket

使用close

注意:

  • UDP也可以調(diào)用connect函數(shù),但是connect函數(shù)只是讓udp socket保存默認(rèn)的發(fā)送地址,以便可以簡單的調(diào)用send函數(shù)來發(fā)送數(shù)據(jù)。

  • UDP的數(shù)據(jù)是基于報(bào)文的,客戶端調(diào)用一次send,產(chǎn)生一個(gè)UDP報(bào)文,接收一次只能接收一個(gè)報(bào)文。

  • 如果recv時(shí),程序提供的緩沖區(qū)小于UDP報(bào)文長度,那么會(huì)導(dǎo)致數(shù)據(jù)丟失。如何得到數(shù)據(jù)報(bào)文的長度???UDP報(bào)文不要超過MTU(1400)

  • 廣播時(shí),發(fā)送端做額外設(shè)置,允許發(fā)送廣播,接收端還是默認(rèn)處理接口。允許發(fā)送廣播socket,也可以接收數(shù)據(jù)。

  • 組播,發(fā)送端不需要額外設(shè)置,只需要發(fā)送地址改成組播地址即可。接收端加入組。

轉(zhuǎn)載于:https://www.cnblogs.com/w-x-me/p/6412735.html

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的网络编程 UDP套接字的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。