網路程式設計 UDP

2022-08-29 13:06:26 字數 660 閱讀 7778

udp

在使用socket時需要手動傳入兩個引數

第乙個 af_inet,第二個 sock_dgram

udp 不需要建立連線,所以沒有三次握手和四次揮手

udp與tcp的相同點:

伺服器:都需要繫結埠和ip

recv與recvfrom都有阻塞功能

udp與tcp的不同點:

伺服器:udp不需要監聽和接受請求

tcp伺服器預設只能和乙個客戶端進行通訊

udp多個客戶端的請求會被依次處理

客戶端:不需要建立連線直接傳送即可

可以傳送空訊息

在udp中客戶端和伺服器

接收都是recvfrom

傳送都是sendto

udp不會產生粘包問題

接收方的緩衝區大小即使大於傳送方傳送的資料長度也不會粘包

當接收方緩衝區的程度小於資料報的資料長度,windows會報異常,而linux不會

udp在使用時,必須保證接收的緩衝區大小大於或等於傳送的資料報大小

由於緩衝區的大小不可能無限大,所以udp不適合在資料量較大的情況下使用

如果一定要使用udp來傳輸大量資料的話,需要自己對資料進行切割和組裝

udp最大的資料報,受資料幀大小限制,最大為1472位元組

在傳輸資料量較大時推薦使用tcp

UDP網路程式設計

基於udp 伺服器 程式步驟 1.建立乙個socket,用socket 函式 2.繫結ip位址 埠等資訊到socket上,用函式bind 3.迴圈接收資料,用recvfrom 4.關閉網路連線。基於udp 客戶端 程式步驟 1.建立乙個socket,用socket 函式 2.繫結ip位址 埠等資訊到...

UDP網路程式設計

基於udp 通訊模型 由上圖可以看出udp通訊的步驟如下 基於udp 伺服器 1 建立乙個socket,用函式socket 2 繫結ip位址 埠等資訊到socket上,用函式bind 3 迴圈接收資料,用函式recvfrom 4 關閉網路連線 基於udp 客戶端 1 建立乙個socket,用函式so...

網路程式設計 UDP

網路程式設計傳輸層選擇乙個資料控制模式 tcp或者udp,前面我們已經介紹了tcp程式設計,這篇我們簡單的來看看udp程式設計。udp是無連線的不可靠的資料報服務。udp協議在ip協議上增加了復用 分用和差錯檢測功能。udp的特點 a 是無連線的。相比於tcp協議,udp協議在傳送資料前不需要建立連...