Я создаю буфер протокола в node.js и хочу декодировать его в узле c ++ addon.
В узле я создаю буфер и отправляю его в аддон c ++:
var Message = root.lookupType(tutorial.AddressBook);
var payload = { people: [{name: "name", id: 23, email: "sdfsdf", phones: [{ number: "12", type: 1}], last_updated: 3}]};
var errMsg = Message.verify(payload);
if (errMsg)
throw Error(errMsg);
var message = Message.create(payload);
var buffer = Message.encode(message).finish();
const cppResult = addons.myNanMethod(buffer);
Как мне тогда декодировать это в c ++?ParseFromString не помогает.Я получаю ошибку времени выполнения "узел: ошибка поиска символа: путь / к / моему / надстройке."
char* data = (char*) node::Buffer::Data(info[0]->ToObject());
std::string datastring data, node::Buffer::Length(info[0])););
// Verify that the version of the library that we linked against is
// compatible with the version of the headers we compiled against.
GOOGLE_PROTOBUF_VERIFY_VERSION;
tutorial::AddressBook address_book;
{
// Read the existing address book.
if (!address_book.ParseFromString(&datastring)) {
cerr << "Failed to parse address book." << endl;
errorCode = 1;
}
}