gpt4 book ai didi

python - 拆分 python 数据包?

转载 作者:太空宇宙 更新时间:2023-11-03 19:35:13 25 4
gpt4 key购买 nike

python 有没有办法区分正在发送的数据包?例如

python接收数据

它处理数据

客户端发送第一个数据包

客户端发送第二个数据包

python接收数据,我可以接收第一个数据包而不是缓冲区中的所有信息

我知道我可以对其进行设置,以便它发送我确认的数据,并且客户端不会发送更多数据,我已确认已处理最后一 block ,但我宁愿不发送

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind(("", 2000))
sock.listen(5)

所有相关的套接字数据

最佳答案

基本上有两种方法:

  1. 在每个数据包的开头,发送一个整数,指定该数据包的长度。当您接收数据时,首先读取整数,然后读取更多字节作为第一个数据包。

  2. 在数据包之间发送某种特殊标记。仅当您可以保证标记不会出现在数据包内时,这才有效。

正如 S. Lott 指出的那样,您可以使用 UDP(基于数据包)而不是 TCP(基于流),但这样您就放弃了 TCP 提供的其他功能(重传丢失的数据包、顺序数据包和拥塞控制)。编写自己的重传代码并不难,但拥塞控制很难做到正确。

关于python - 拆分 python 数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3914542/

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