[英]Socket: Reading UDP Packet
我一直在搜索這個問題,但我無法理解這個問題,因為它不是一般的,我不會找到解決方案來讀取包含UTF-8文本的UDP數據包。
所以我創建一個套接字,它創建一個包含UTF-8文本的UDP數據包,我發送它像這樣:
import socket
UDP_IP = "127.0.0.1"
UDP_PORT = 80
MESSAGE = "Hello, World!"
sock = socket.socket(socket.AF_INET,
socket.SOCK_DGRAM)
sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))
讓我們將其定義為sender.py
。
現在我想打一個reciever.py
會后執行腳本sender.py
。
我該怎么做? 我聽說過Data, addr = udp.recvfrom(1024)
但我不完全確定它是如何工作的/如何使用它。
因此,每當我一起執行它們時, Reciever.py
都可以打印發送的UDP數據包的UTF-8文本。
你希望接收器做幾件事:
socket.socket
創建套接字sock
。 sock.bind
綁定到套接字。 data, addr = sock.recvfrom(1024)
。 請注意,接收器將休眠,等待它綁定到的套接字中出現消息。 處理完數據后,循環將再次執行,接收器將返回休眠狀態。
1024
對應於您可以接收的最大大小消息(大約1024
字符,因為1
字符= 1
個字節。如果您希望能夠接收更大的消息,請將此值放大。
有關詳細的代碼示例,請參閱https://wiki.python.org/moin/UdpCommunication 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.