一、tcp與udp的區別
基於連線與無連線
對系統資源的要求(tcp較多,udp少)
udp程式結構較簡單
流模式與資料報模式
tcp保證資料正確性,udp可能丟包
tcp保證資料順序,udp不保證
部分滿足以下幾點要求時,應該採用udp 面向資料報方式 網路資料大多為短訊息
擁有大量client
對資料安全性無特殊要求
網路負擔非常重,但對響應速度要求高
具體程式設計時的區別 socket()的引數不同
udp server不需要呼叫listen和accept
udp收發資料用sendto/recvfrom函式
tcp:位址資訊在connect/accept時確定
udp:在sendto/recvfrom函式中每次均 需指定位址資訊
udp:shutdown函式無效
二、man----socket
三、程式設計區別
與之對應的udp程式設計步驟要簡單許多,分別如下:
udp程式設計的伺服器端一般步驟是:
1、建立乙個socket,用函式socket();
2、設定socket屬性,用函式setsockopt();* 可選
3、繫結ip位址、埠等資訊到socket上,用函式bind();
4、迴圈接收資料,用函式recvfrom();
5、關閉網路連線;
udp程式設計的客戶端一般步驟是:
1、建立乙個socket,用函式socket();
2、設定socket屬性,用函式setsockopt();* 可選
3、繫結ip位址、埠等資訊到socket上,用函式bind();* 可選
4、設定對方的ip位址和埠等屬性;
5、傳送資料,用函式sendto();
6、關閉網路連線;
1. tcp
server:
socket -- setsockopt - bind - listen - accept - send/recv(read/write)
client:
socket -- setsockopt - bind - connect - send/recv(read/write)
2. udp
server:
socket -- setsockopt - bind - recvfrom
client:
socket -- setsockopt - bind - sendto
TCP和UDP的區別及socket網路程式設計步驟
tcp和udp的區別 1.連線 tcp是面向連線的傳輸層協議,即傳輸資料之前必須先建立好連線。udp無連線。2.服務物件 tcp是點對點的兩點間服務,即一條tcp連線只能有兩個端點 udp支援一對一,一對多,多對一,多對多的互動通訊。3.可靠性 tcp是可靠交付 無差錯,不丟失,不重複,按序到達。u...
Socket 程式設計 TCP 和UDP
三次握手過程 1.建立連線時,客戶端傳送syn包到伺服器,並進入syn sent狀態,等待伺服器確認。2.伺服器收到syn包,反饋乙個syn ack包,進入syn recv狀態。3.客戶端接到伺服器的syn ack包,向伺服器傳送確認包ack,同時進入established狀態,三次握手完成。伺服器...
TCP 和 UDP 在socket程式設計中的區別
網路收集 一 tcp與udp的區別 基於連線與無連線 對系統資源的要求 tcp較多,udp少 udp程式結構較簡單 流模式與資料報模式 tcp保證資料正確性,udp可能丟包 tcp保證資料順序,udp不保證 部分滿足以下幾點要求時,應該採用udp 面向資料報方式 網路資料大多為短訊息 擁有大量cli...