реализация и использование flatbuffer. Нужны некоторые предложения

Можно ли использовать flatbuffer для связи сервера с клиентом? Раньше я использовал JSON, но как вы думаете, flatbuffer будет полезен для связи, когда ответ от сервера достаточно велик, чтобы создать некоторую задержку в достижении клиентской стороны. Если flatbuffer не рекомендуется, то какой из них я могу использовать? Есть ли какая-либо библиотека, которая может уменьшить размер ответа от сервера и отправить его на сторону клиента для эффективной и быстрой связи?


person Rajeshwar Bose    schedule 12.02.2016    source источник


Ответы (2)


Один из лучших способов узнать, как использовать плоский буфер, а также узнать больше о плоских буферах и JSON. (Как использовать FlatBuffers?)

Пример приложения FlatBuffer для Android

Это приложение показывает, насколько быстро работает плоский буфер, когда мы сравниваем его с json.

Как начать с flatBuffer

$ git clone https://github.com/google/flatbuffers.git

$ cd flatbuffers

* Run the command on the basis of your platform

$ cmake -G "Unix Makefiles"
$ cmake -G "Visual Studio 10"
$ cmake -G "Xcode"

* now build for your platform as usual. This should result in a flatc executable
* Now create your schema file with extension .fbs. Guide to write a schema can be found [here]("https://google.github.io/flatbuffers/flatbuffers_guide_writing_schema.html").And also have your sample json file.

$ ./flatc -j -b schema.fbs sample.json

* This will create few java file and one bin file. Java files are like model(POJO for flatBuffer) of your json.Place the java files in your application package and bin file in raw folder(bin file is only for testing as it is converted to byte that is to be passed to flatbuffer for testing).
* Now we have to get flatbuffer jar file.

$ cd flatbuffers
$ cd java
$ mvn install
This will download all the dependencies.
$ cd target

* Here we will get the flatbuffers-java-1.3.0-SNAPSHOT.jar file that we have to put it in your libs folder of android project.
* For rest you can see my (https://github.com/amitshekhariitbhu/FlatBuffer).

## Major steps:
* Prepare your schema.fbs.
* Have a sample json.
* Build flatBuffer google project to generate your java files to be used in main application.
* Generate java files.
person Amit Shekhar    schedule 09.07.2016

Да, сообщение FlatBuffers, как правило, будет намного меньше, чем эквивалентное JSON, и доступ к нему будет быстрее.

person Aardappel    schedule 12.02.2016
comment
Но я нигде не получаю надлежащую документацию. У меня большие трудности с созданием схемы моего ответа json. Я совсем не понимаю, где разместить файл схемы в моем проекте, какой файл потребуется для создания компилятор, какой файл отвечает за преобразование схемы в файлы заголовков, а также за то, как отправить ее по сети на сторону клиента и проанализировать там, рассматривайте ее как приложение для Android. Любые предложения будут высоко оценены. Спасибо - person Rajeshwar Bose; 12.02.2016
comment
У меня есть документация google github, но документация очень конкретная и высокого уровня. Несколько простых примеров, а не игра, мне бы очень помогли - person Rajeshwar Bose; 12.02.2016
comment
Вы конвертируете схему в код с помощью инструмента командной строки flatc, например flatc --java --php myschema.fbs. То, как включить полученный код в ваш проект, действительно зависит от используемой вами среды. - person Aardappel; 13.02.2016
comment
Если вы предоставите пример того, как выглядит ваш JSON или как должны выглядеть данные, которые вы хотите передать, возможно, вам будет легче помочь. Хотя этот вопрос довольно общий. Я бы посмотрел google.github.io/flatbuffers/flatbuffers_guide_tutorial.html и щелкнул Кнопка PHP, чтобы сделать все фрагменты кода на PHP. - person MrHappyAsthma; 13.02.2016