一、tcp與udp的區別 基於連線與無連線
對系統資源的要求(tcp較多,udp少) udp程式結構較簡單 流模式與資料報模式
tcp保證資料正確性,udp可能丟包 tcp保證資料順序,udp不保證
部分滿足以下幾點要求時,應該採用udp 面向資料報方式 網路資料大多為短訊息 擁有大量client
對資料安全性無特殊要求
網路負擔非常重,但對響應速度要求高 具體程式設計時的區別 socket()的引數不同 udp server不需要呼叫listen和accept udp收發資料用sendto/recvfrom函式 tcp:位址資訊在connect/accept時確定
二、man----socket
通過檢視socket的man手冊可以看到socket函式的第乙個引數的值可以為下面這些值:
name purpose
pf_unix, pf_local local communication pf_inet ipv4 internet protocols pf_inet6 ipv6 internet protocols pf_ipx ipx - novell protocols
pf_netlink kernel user inte***ce device pf_x25 itu-t x.25 / iso-8208 protocol pf_ax25 amateur radio ax.25 protocol
pf_packet low level packet inte***ce
三、程式設計區別
sock_stream這種的特點是面向連線的,即每次收發資料之前必須通過connect建立連線,也是雙向的,即任何一方都可以收發資料,協議本身提供了一些保障機制保證它是可靠的、有序的,即每個包按照傳送的順序到達接收方。
基於上述不同,udp和tcp程式設計步驟也有些不同,如下: tcp程式設計的伺服器端一般步驟是: 1、建立乙個socket,用函式socket();
2、設定socket屬性,用函式setsockopt(); * 可選 3、繫結ip位址、埠等資訊到socket上,用函式bind(); 4、開啟監聽,用函式listen();
5、接收客戶端上來的連線,用函式accept();
6、收發資料,用函式send()和recv(),或者read()和write(); 7、關閉網路連線; 8、關閉監聽;
tcp程式設計的客戶端一般步驟是:
1、建立乙個socket,用函式socket();
2、設定socket屬性,用函式setsockopt();* 可選
3、繫結ip位址、埠等資訊到socket上,用函式bind();* 可選 4、設定要連線的對方的ip位址和埠等屬性; 5、連線伺服器,用函式connect();
6、收發資料,用函式send()和recv(),或者read()和write(); 7、關閉網路連線;
與之對應的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、關閉網路連線;
socket程式設計 TCP與UDP
1.tcp與udp的優缺點 2.tcp與udp在遊戲中的應用場景 tcp 可以容忍延遲並且有很好的遮蔽延遲的設計,如紙牌類和mmo udp 不能容忍延遲,如dota類和動作類 3.tcp與udp 實現 只實現了基本收發功能,沒有進行合理性分析,tcp有客戶端和伺服器之分,udp則沒有但考慮到區分 中...
TCP和UDP的區別及socket網路程式設計步驟
tcp和udp的區別 1.連線 tcp是面向連線的傳輸層協議,即傳輸資料之前必須先建立好連線。udp無連線。2.服務物件 tcp是點對點的兩點間服務,即一條tcp連線只能有兩個端點 udp支援一對一,一對多,多對一,多對多的互動通訊。3.可靠性 tcp是可靠交付 無差錯,不丟失,不重複,按序到達。u...
TCP與UDP在socket程式設計中的區別
一 tcp與udp的區別 基於連線與無連線 對系統資源的要求 tcp較多,udp少 udp程式結構較簡單 流模式與資料報模式 tcp保證資料正確性,udp可能丟包 tcp保證資料順序,udp不保證 部分滿足以下幾點要求時,應該採用udp 面向資料報方式 網路資料大多為短訊息 擁有大量client 對...