網路通訊與協議 TCP與UDP

2021-10-01 14:14:59 字數 1599 閱讀 7120

udpudp應用場景

tcp比較可靠、不容易粘包、不容易丟包

udp操作簡單、傳輸速度比較快

1.基於連線與無連線

2.tcp要求系統資源較多,udp較少;

3.udp程式結構較簡單

4.流模式(tcp)與資料報模式(udp);

5.tcp保證資料正確性,udp可能丟包

6.tcp保證資料順序,udp不保證

1.socket()的引數不同

2.udp server不需要呼叫listen和accept

3.udp收發資料用sendto/recvfrom函式

4.tcp:位址資訊在connect/accept時確定

6.udp:shutdown函式無效

7.udp不需要經過三次握手與四次揮手的過程

通常我們在說到網路程式設計時預設是指tcp程式設計

sock_stream這種的特點是面向連線的,即每次收發資料之前必須通過connect建立連線,也是雙向的,即任何一方都可以收發資料,協議本身提供了一些保障機制保證它是可靠的、有序的,即每個包按照傳送的順序到達接收方。

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程式設計的伺服器端一般步驟是

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.面向資料報方式

2.網路資料大多為短訊息

3.擁有大量client

4.對資料安全性無特殊要求

5.網路負擔非常重,但對響應速度要求高

java網路通訊TCP與UDP

system.out.println 客戶端啟動 socket socket new socket 192.168.0.33 8080 outputstream os socket.getoutputstream 會的輸出流 outputstreamwriter osw new outputstre...

網路通訊udp與tcp的區別

1.建立套接字 2.繫結ip和埠號 3.使用套接字收 發資料 記得解碼 decode 和編碼 encode 哦 4.關閉套接字 coding utf 8 from socket import 1.建立套接字 udp socket socket af inet,sock dgram 2.繫結本地的相關...

網路通訊 udp協議

不同的協議就有不同 的插座 socket udp通訊協議的特點 1.將資料極封裝為資料報,面向無連線。2.每個資料報大小限制在64k中 3.因為無連線,所以不可靠 4.因為不需要建立連線,所以速度快 5.udp 通訊是不分服務端與客戶端的,只分傳送端與接收端。比如 物管的對講機,飛q聊天 遊戲.ud...