在处理数据时,继续使用recvfrom()监听udp端口服务器python

时间:2018-06-05 08:13:19

标签: python sockets server udp

我有一个简单的服务器

while True:
    d = s.recvfrom(UDP_BUFFER_SIZE)
    process(d)

和一个简单的客户:

while True:
    sock.sendto(data, addr):

但我发现在处理过程中服务器不再监听,而且我丢失了收到的数据。我知道UDP可以丢失数据,但这里的UDP实现和处理可能需要很长时间,阻止我收集数据。

如何处理收到的数据并仍然可以收听端口? 即使将recvfrom()导出到一个线程,也可能需要一段时间来监听:

while True:
    d = s.recvfrom(UDP_BUFFER_SIZE)
    export_data(d) # make it faster, but export time can still miss packets.

0 个答案:

没有答案
相关问题