gpt4 book ai didi

c++ - Qt + protobuf,类型?

转载 作者:IT老高 更新时间:2023-10-28 22:35:09 25 4
gpt4 key购买 nike

我想深入了解 Google 在 Qt 开发中的 Protocol Buffer ,但我无法弄清楚如何最好地整合它们。

最终,我想使用 Protocol Buffer 发送 QUdpSocketQTcpSocket

在 Protocol Buffer message 到通过套接字 (QByteArray) 发送数据然后在另一端再次返回之间的最佳方法是什么?

最佳答案

从 protobuf 对象创建 QByteArray:

Person person; // a protobuf object
person.set_id(123);
person.set_name("Bob");
person.set_email("bob@example.com");

std::ostringstream out;
person.SerializeToOstream(&out);
QByteArray byteArray(out.str().c_str());
sendSerializedPersonOverQTcpSocket(byteArray);

QByteArray 读回 protobuf 对象:

QByteArray byteArray = readSerializedPersonFromQTcpSocket();
Person person;
if (!person.ParseFromArray(byteArray, byteArray.size())) {
std::cerr << "Failed to parse person.pb." << std::endl;
}

关于c++ - Qt + protobuf,类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4252912/

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