網路傳輸協議 UDP

2021-08-26 15:23:07 字數 1468 閱讀 2795

1.udp概念

2.udp特點

-無連線

-資源開銷小

-傳輸速度快

-udp每個資料報最大為64k

3.udp的優缺點

優點:

-傳輸速度快

-不需要連線,資源開銷小

缺點:

-傳輸資料不可靠,容易丟資料報

-沒有流量控制,需要對方一直接受資料

建立乙個基於udp的網路程式流程很簡單,具體步驟如下:

1.建立客戶端套接字

2.傳送/接收資料

3.關閉套接字

import socket

socket.socket(addressfamily, type)

socket(簡稱 套接字) 是程序間通訊乙個工具,它能實現把資料從一方傳輸到另外一方,完成不同電腦上程序之間的通訊, 它好比資料的搬運工。

import socket

建立udp套接字

udp_socket = socket.socket(socket.af_inet, socket.sock_dgram)

『192.168.1.103』表示目的ip位址 8080表示目的埠

dest_addr = (『192.168.1.103』, 8080) # 注意 是元組,ip是字串,埠是數字

從鍵盤獲取資料

send_data = input(「請輸入要傳送的資料:」)

udp_socket.sendto(send_data.encode(『utf-8』), dest_addr)

關閉套接字

udp_socket.close()

import socket

建立udp套接字

udp_socket = socket.socket(socket.af_inet, socket.sock_dgram)

準備接收方的位址

dest_addr = (『192.168.236.129』, 8080)

從鍵盤獲取資料

send_data = input(「請輸入要傳送的資料:」)

傳送資料到指定的電腦上

udp_socket.sendto(send_data.encode(『utf-8』), dest_addr)

等待接收對方傳送的資料

recv_data = udp_socket.recvfrom(1024) # 1024表示本次接收的最大位元組數

顯示對方傳送的資料

接收到的資料recv_data是乙個元組

第1個元素是對方傳送的資料

第2個元素是對方的ip和埠

print(recv_data[0].decode(『gbk』))

print(recv_data[1])

關閉套接字

udp_socket.close()

udp協議傳輸

服務端 1 from socket import 23 udp server socket af inet,sock dgram 資料報式套接字 4 udp server.bind 127.0.0.1 8080 5while true 6 data udp server.recvfrom 1024 ...

傳輸層 UDP協議

資料單位 特點具體實現 要求udp首部格式 傳送udp請求的客戶端圖釋 udp 傳送的資料單位協議是 udp 報文或使用者資料報 udp 是無連線的,即傳送資料之前不需要建立連線 udp 使用盡最大努力交付,即不保證可靠交付,同時也不使用擁塞控制 udp 是面向報文的.udp 沒有擁塞控制,很適合多...

傳輸層 UDP協議

傳輸層 udp協議 資料單位 特點具體實現 要求udp首部格式 傳送udp請求的客戶端圖釋 udp 傳送的資料單位協議是 udp 報文或使用者資料報 udp 是無連線的,即傳送資料之前不需要建立連線 udp 使用盡最大努力交付,即不保證可靠交付,同時也不使用擁塞控制 udp 是面向報文的.udp 沒...