Python 中的資料報
資料塊透過使用者資料報協議或 UDP 協議在客戶端和伺服器之間移動。這兩個通訊端點需要 IP 地址和埠號來建立通訊。一個端點稱為傳送者,另一個端點稱為接收者。在此協議中,傳送者不跟蹤已傳送的資料包,接收者可以選擇是否接收所有資料包。
傳送者程式
以下 Python 程式使用 socket 模組建立傳送者程式。我們為 IP 地址和埠宣告變數。然後向其中新增一條訊息。sendto() 用於結合 IP 地址和埠號的訊息。
範例
import socket
UDP_IP = "localhost"
UDP_PORT = 5050
MESSAGE = "Hello UDP! "
print ("Sent Message: ", MESSAGE)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto(bytes(MESSAGE, "utf-8"), (UDP_IP, UDP_PORT))輸出
執行以上程式碼會得到以下結果 -
Sent Message: Hello UDP!
接收者程式
同樣,我們建立接收者程式,它將接收發送者程式傳送的訊息。下面程式中訊息的大小限制為 1024 位元組。bind() 函式將 IP 和埠繫結到接收到的資料。
範例
import socket
UDP_IP = "localhost"
UDP_PORT = 5050
s= socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((UDP_IP, UDP_PORT))
while True:
# buffer size is 1024 bytes
data, addr = sock.recvfrom(1024)
print("Received message:", data)輸出
執行以上程式碼會得到以下結果 -
Received message: Hello UDP!
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP