如何在 C++ 中通过套接字发送 ostream?
How to send ostream by socket in C++?
我正在尝试通过 C++ 中的套接字发送包含二进制数据的 ostream
。
我正在使用 Microsoft SEAL
开发有关加密。
现在我需要从客户端向服务器发送一个密文。 Microsoft SEAL提供函数
void Ciphertext::save(ostream &stream) const
将Ciphertext对象序列化为ostream
, 但在调用
void Ciphertext::save(ostream &stream) const
后,
我不知道如何发送 密文 (在ostream
)通过socket在客户端(当然也不知道如何在服务器端接收)。
我尝试了solution,但是当数据是二进制数据.
时似乎无法工作
我想知道客户端发送ostream
,服务端接收的代码怎么写。谢谢。
你可以通过它ostringstream
来填充,然后从中提取包含二进制数据的字符串:
#include <sstream>
#include <string>
// ...
std::string save_into_string(Ciphertext const& ciphertext) {
std::ostringstream s;
ciphertext.save(s);
return s.str();
}
我正在尝试通过 C++ 中的套接字发送包含二进制数据的 ostream
。
我正在使用 Microsoft SEAL
开发有关加密。
现在我需要从客户端向服务器发送一个密文。 Microsoft SEAL提供函数void Ciphertext::save(ostream &stream) const
将Ciphertext对象序列化为ostream
, 但在调用 void Ciphertext::save(ostream &stream) const
后,
我不知道如何发送 密文 (在ostream
)通过socket在客户端(当然也不知道如何在服务器端接收)。
我尝试了solution,但是当数据是二进制数据.
时似乎无法工作我想知道客户端发送ostream
,服务端接收的代码怎么写。谢谢。
你可以通过它ostringstream
来填充,然后从中提取包含二进制数据的字符串:
#include <sstream>
#include <string>
// ...
std::string save_into_string(Ciphertext const& ciphertext) {
std::ostringstream s;
ciphertext.save(s);
return s.str();
}