基於UDP協議的socket程式設計

2022-02-26 21:31:31 字數 1215 閱讀 3021

udp協議特點:

1.無連線。服務端與客戶端傳輸資料之前不需要進行連線,且沒有超時重發等機制,只是把資料通過網路傳送出去。也正是因為此特點,所以基於udp協議的socket的客戶端在啟動之前不需要先啟動服務端。

2.不可靠。資料在本地通過網路發出之後,udp協議會立即清除本地的快取,即使對方沒有收到該資料,也不做任何補救措施。

3.資料報協議。

**示例:

1

import

socket

2 server =socket.socket(socket.af_inet,socket.sock_dgram)

3'''

41.udp協議是資料報協議,因此不會產生位元組流,不像tcp一樣是位元組流協議,故不會發生粘包現象。56

3.udp協議對應一發一收,因此不像tcp那樣要把連線掛起,更不用監聽,只要始終處於接收客戶端即可。

7'''

8 ip_port = ('

127.0.0.1

',8899)

9server.bind(ip_port)

10while

true:

11 data_bytes,client_addr = server.recvfrom(1024)

12 server.sendto(data_bytes,client_addr)

1

import

socket

2 client =socket.socket(socket.af_inet,socket.sock_dgram)

3 ip_port = ('

127.0.0.1

',8899)

4while

true:

5 msg=input('

>>>:')

6 client.sendto(msg.encode('

utf-8

'),ip_port)

7 data_bytes,server_addr = client.recvfrom(1024)

8print(data_bytes.decode('

utf-8

'))

注意:基於udp協議的客戶端可以開啟多個程序,表面上實現了併發,但同一時刻只能允許乙個客戶端與服務端通訊,因此基於udp協議的socket並沒有實現併發。

基於UDP協議的socket程式設計

一 socket概述 1.socket一般被稱為 套接字 網路上的兩個程式通過乙個雙向的通訊連線實現資料的交換,這個連線的一端就叫做socket。2.建立網路通訊連線至少需要乙個埠號 socket socket利用網路之間的通訊設施實現程序通訊,但它對通訊設施的細節不關心,只要通訊設施能夠提供足夠的...

基於Socket的UDP和TCP協議

一 概述 tcp 傳輸控制協議 和udp 使用者資料報協議 是網路體系結構tcp ip模型中傳輸層一層中的兩個不同的通訊協議。tcp 傳輸控制協議,一種面向連線的協議,給使用者程序提供可靠的全雙工的位元組流,tcp套介面是位元組流套介面 stream socket 的一種。udp 使用者資料報協議。...

基於UDP協議的Socket網路程式設計

一 基於udp協議的socket網路程式設計流程 採用 udp 套接字方式實現c s的通訊程式由客戶端和伺服器端兩部分組成。伺服器端程序依次按以下步驟進行 1 呼叫socket 建立乙個資料報套接字 2 呼叫 bind 把伺服器位址繫結在該套接字上 3 呼叫recvform 等待客戶程序發來的請求,...