буферы протоколов node.js в c ++ - PullRequest
0 голосов
/ 12 октября 2018

Я создаю буфер протокола в 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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...