udp的connectudp是無連線的協議,不需要connect可以直接使用sendto/sendmsg等攜帶對端資訊的函式對資料進行傳送接收,但是其實udp的socket也是可以進行connect的。
在udp中,使用sendto資料傳輸過程分三階段:
a. 向udp套接字註冊目標ip和埠號;
b. 傳輸資料;
c. 刪除udp套接字中註冊的目標位址資訊。
註冊了目標位址的udp套接字是connected udp,預設情況下是unconnected的。需要與同一主機進行長時間通訊時,將套接字變成connected會提高效率。
udp套接字呼叫connected只是註冊目標ip和埠資訊,並未與對方連線。
註冊後就可以呼叫sendto傳輸資料,還可以使用read,write函式通訊。
udp中connect操作與tcp中connect操作有著本質區別:
udp中可以多次呼叫connect,tcp只能呼叫一次connect
普通的udp傳送兩個報文核心做了如下:
#1:建立鏈結
#2:傳送報文
#3:斷開鏈結
#4:建立鏈結
#5:傳送報文
#6:斷開鏈結
採用connect方式的udp傳送兩個報文核心如下處理:
#1:建立鏈結
#2:傳送報文
#3:傳送報文另外一點,
每次傳送報文核心都由可能要做路由查詢.
可以呼叫send,write和recv,read操作.當然也可以呼叫sendto,recvfrom.
計算機網路 UDP協議
源埠與目的埠 可與tcp埠重複。udp長度 包括首部長度和資料長度,單位為位元組,注意資料長度可以為0。udp檢驗和 校驗的是udp首部部分和資料部分,該校驗和是可選的,如果全部填0則表示傳送端沒有計算校驗和。udp資料報有12個位元組的偽首部 源ip,目的ip,8bit 0,8位協議,udp長度 ...
計算機網路 計算機網路的效能
目錄 1.網路效能的衡量指標 2.速率 3.頻寬 4.延遲 5.丟包率 6.時延頻寬積 7.吞吐率 網路效能的好壞可以由網路的速率 頻寬 延遲 丟包率 網路頻寬積 吞吐率等方面來判斷,下面讓我們一一詳細介紹。速率 資料率 data rate 也稱 資料傳輸速率或位元率 bit rate 指的是 單位...
計算機網路 TCP與UDP
1.tcp的三次握手過程?為什麼會採用三次握手,若採用二次握手可以嗎?建立連線的過程是利用客戶伺服器模式,假設主機a為客戶端,主機b為伺服器端。1 tcp的三次握手過程 主機a向b傳送連線請求 主機b對收到的主機a的報文段進行確認 主機a再次對主機b的確認進行確認。2 採用三次握手是為了防止失效的連...