管理特定字节流时出现 Python UDP 套接字错误

问题描述 投票:0回答:0

首先,也许这篇文章很难看,那是因为我正在学习英语,请耐心等待。

我在处理 UDP 上的 python 套接字时遇到错误。 我创建了一个应用程序来通过本地网络发送包含许多文件的文件和/或文件夹。用户可以在 TCP 和 UDP 协议之间进行选择,它可以与 TCP 完美配合,但不能与 UDP 配合使用。

在构建应用程序时,我发现无法发送和/或监听带有大消息的字节(我记不清了,但我认为每条消息最大为 65kb)。

我决定将总字节拆分为明显最大长度为 65k 的块,并将它们连续发送到不同的消息中。 这个解决方案工作正常......但不适用于很长的消息,比如有很多文件的大文件夹:消息被接收但根本没有,它在某个点停止(我不能断言确切的点或长度,但我认为这对解决错误很重要。)并且服务器永远等待。

为了解决这个问题,我决定在循环中的每个调度函数之后立即使用一个简单的 time.sleep(0.01)。 这很好用!

有办法解决吗? 我认为这是接收端可能接收的最大字节数(如 65kb)的问题,因此它会侦听最大可能的字节数并丢弃“在同一秒或同一行”的下一条消息,因为它太快了。

python sockets udp
© www.soinside.com 2019 - 2024. All rights reserved.