2014-11-06 1 views
2

Я новичок в библиотеке буферов протоколов. Я знаю, как отправить запрос и получить ответ от веб-службы с использованием JSON в качестве моего формата полезной информации ... Но я не знаю, как сделать то же самое с protobuf.Как отправить HTTP-запрос с буферами протоколов в качестве формата полезной нагрузки?

Может кто-нибудь, пожалуйста, помогите и перечислите небольшой пример?

FMY мой проект, я хочу, чтобы отправить следующие три вещи на сервере:

{ 

    "session_id": "xxxxxx", 
    "location": { 
     "latitude": xx.xx, 
     "longitude": xx.xx 
    } 
} 

Любая помощь приветствуется. Спасибо за тонну заблаговременно

+0

Где код Java вы до сих пор? Не могли бы вы поделиться им? – cheffe

+0

Протобуф - это всего лишь двоичные данные. Таким образом, здесь есть две отдельные проблемы: a) как сериализовать/десериализовать ваши данные в/из объектов/двоичных файлов и b) как отправлять/получать двоичные файлы по http. На что ты застрял? –

+0

Привет, Марк, Спасибо за ваш ответ .. Я считаю, мне нужно руководство по обеим частям. Все, что у меня есть, это параметры запроса и какой ответ я получаю с сервера. У вас есть какие-то рабочие примеры, которые вы можете поделиться? –

ответ

0

Проблема в том, что Javascript не способен легко обрабатывать чистые двоичные форматы ручек, которые являются wireformat в протобафферах. Вы можете просто отправить wireformat через HTTP, но с ним, вероятно, будет сложно справиться с этим на стороне клиента.

Так что вы можете сделать сериализацию и десериализацию сообщения protobuf для JSON на сервере и использовать его для транспортировки между клиентом и сервером. вы можете использовать https://code.google.com/p/protobuf-java-format/ для выполнения этих преобразований на Java.

Однако эта библиотека выглядит интересно, что, кажется, на самом деле обрабатывать двоичный wireformat в JavaScript: https://github.com/dcodeIO/ProtoBuf.js

Смежные вопросы