私は、Wifi経由で通信するシステム用のコードを書いています。これは、ルータ経由でUDPパケットをRaspberry Piに送信するAndroidデバイスで構成されています。送信される情報は非常にタイムクリティカルであり、パフォーマンスを向上させる方法として、古いパケットがバッファ内にある場合はPiにPythonコードを書き込もうとしています(データは制御インターフェイスの状態を示します)古いデータは役に立たない)。 Piは処理能力が限られているので、古いデータに対して余分な作業をしないようにしたい。次のようにコードが現在ある:古いUDPパケットを無視するPython
import time
import socket
#This section of code creates the socket and shows that it is running
UDP_IP = ''
UDP_PORT = 2016
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((UDP_IP, UDP_PORT))
while(1):
data, addr = sock.recvfrom(1024) #receives UDP packets, buffer size is 1024 bytes
# do time critical stuff with data
私は8にバッファサイズを設定した場合(で送信されるデータのバイト数)は、それが唯一の8バイトに持参し、残りを廃棄することSOCK_DGRAMと知ります - これは私の目標を達成するか、これは最も古い8バイトをもたらすか、または他の何らかの振る舞いをしますか?
ありがとうございました!
私はそれが事実だと思った。私はその解決策を試してみる。ご協力いただきありがとうございます! –