gpt4 book ai didi

c++ - 将内存中的二进制数据读入字符串流并通过套接字流式传输

转载 作者:太空狗 更新时间:2023-10-29 21:21:17 28 4
gpt4 key购买 nike

我想知道是否有可能,例如,在内存中获取一段数据,将其读入输出字符串流(作为二进制数据)并将其写入套接字以供客户端应用程序处理。

我在尝试这样做时遇到的问题如下:

例子:

char name[1024] = "Test";
std::ostringstream message (std::stringstream::out | std::stringstream::binary);

len = strlen(name);
message.write(reinterpret_cast<const char*>(&len), sizeof(int));
message.write(test, len*sizeof(char));

我想将这个 stringstream 写入包含所有数据的套接字,但问题是:stringstream write 只执行第一次,在这种情况下写入 4(字符串的长度)并且没有随后的写入。我在这里遗漏了什么吗?

如果这不是最好的方法,那么最好的方法是什么?这在一定程度上是为了减少缓存内存快照的文件 I/O。

提前致谢..

最佳答案

您的代码(带有小修复)出现在 work 中对我来说,所以你可能会检查以确保你正确地处理了缓冲的二进制数据,即你不假设 std::string 包含一个字符串。

关于c++ - 将内存中的二进制数据读入字符串流并通过套接字流式传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22863417/

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