簡體   English   中英

套接字:讀取UDP數據包

[英]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文本。

你希望接收器做幾件事:

  1. 使用socket.socket創建套接字sock
  2. 使用sock.bind綁定到套接字。
  3. 在無限循環中,執行: data, addr = sock.recvfrom(1024)
  4. 現在收到的數據可供您使用,您可以根據需要進行處理。

請注意,接收器將休眠,等待它綁定到的套接字中出現消息。 處理完數據后,循環將再次執行,接收器將返回休眠狀態。

1024對應於您可以接收的最大大小消息(大約1024字符,因為1字符= 1個字節。如果您希望能夠接收更大的消息,請將此值放大。

有關詳細的代碼示例,請參閱https://wiki.python.org/moin/UdpCommunication

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM