gpt4 book ai didi

python - 在后台接收 UDP 数据包(PYTHON)

转载 作者:太空宇宙 更新时间:2023-11-04 03:40:11 24 4
gpt4 key购买 nike

我想要一个在后台等待 UDP 数据包的线程,当没有收到数据包时,我希望脚本能够做其他事情。但是当我启动线程时,脚本会等待 UDP 数据包并停止。

import threading
import socket


def rec_UDP():
while True:
# UDP commands for listening
UDP_PORT = 5005
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('10.0.0.15', UDP_PORT))
data, addr = sock.recvfrom(1024)
print "received message:", data
return data


# The thread that ables the listen for UDP packets is loaded
listen_UDP = threading.Thread(target=rec_UDP())
listen_UDP.start()

data = 'Nothing received'

while True:
print 'The packet received is: ' + data

最佳答案

通过在函数后附加 (),代码直接调用函数,因此阻塞主线程而不是在单独的线程中运行函数。

去掉函数名后面的()

listen_UDP = threading.Thread(target=rec_UDP)

关于python - 在后台接收 UDP 数据包(PYTHON),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26846988/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com