gpt4 book ai didi

c++ - 从 TCP 套接字逐个接收数据包?

转载 作者:可可西里 更新时间:2023-11-01 02:30:33 25 4
gpt4 key购买 nike

我有一个接收视频流的 tcp 套接字。我想从套接字逐个数据包地接收数据,这样我就可以删除数据包头并保留唯一的流数据。我该怎么做??

我们将不胜感激。

最佳答案

你不能。 TCP 不适用于数据包/消息等。TCP 适用于字节。你得到一个字节流。问题是无法保证每次从套接字读取时获得的字节数。通常的处理方式:

  • 当你想发送一个“数据包”时,首先要包含一个长度
  • 当您从套接字读取内容时,请确保至少读取该长度

您的信息可以是:

|Message Length:4bytes|Additional header Information:whatever1|Message Data:whatever2|

然后您需要做的是读取 4 个字节,然后读取这 4 个字节告诉您的内容。然后您将能够剥离 header 并获取数据。

关于c++ - 从 TCP 套接字逐个接收数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6263829/

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