gpt4 book ai didi

c++ - 如何在通过套接字发送之前正确分隔多个图像

转载 作者:行者123 更新时间:2023-11-28 03:10:39 25 4
gpt4 key购买 nike

比方说,我需要通过一个套接字从客户端向服务器发送五张图片,并且我想立即完成(不发送一张并等待 ACK)。

问题:

  1. 我想知道是否有一些最佳实践或准则来分隔每个结尾。

  2. 检测分隔符并在服务器中处理每张图片的最安全方法是什么? (如果可能,使用 C/C++)

提前致谢!

最佳答案

由于图像是二进制数据,因此很难想出不能包含在图像中的分隔符。 (最终混淆了接收方)

我建议您创建一个标题,该标题将放置在传输的开头,或每个图像的开头。

一个例子:

struct Header
{
uint32_t ImageLength;
// char ImageName[128];
} __attribute__(packed);

发件人应在每张图片前添加此内容并正确填写长度。接收方随后会知道图像何时结束,并期望在该位置有另一个 Header 结构。

属性(packed) 是一种安全措施,即使您使用不同的 GCC 版本编译服务器和客户端,它也能确保 header 具有相同的对齐方式。建议在结构由不同进程解释的情况下使用。

数据流: header 图像数据 header 图像数据 header 图像数据...

关于c++ - 如何在通过套接字发送之前正确分隔多个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18587406/

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