Yourmind
@Yourmind
пишу говнокод в перерывах между едой и сериалами

Какой формат для передачи данных(объектов/списков) использовать при передаче через сокет?

Хочу создать приложение(игра-шашки)
Сервер рабоает на компе(потом захостить на каком нибудь aws)
В нем у меня вся логика. Он написан на питоне
А клиентов хочу делать для мобильных приложений(андроид)
и поскольку мобильной разработкой я никогда не занимался и пока что пишу сервер то мне нужно понять какой формат получать я смогу получать через сокет?
Тоесть если бы у меня 2 приложения были на питоне то я бы все отсылал конвертируя все свои объекты с помощью библиотеки pickle. (я оперирую приемущественно списками и объектами построенными на нем)
А щас не знаю из какого формата я смогу получить свои списки/объекты в нужном виде? Будут ли нужные библиотеки в яп на клиент-стороне?
  • Вопрос задан
  • 151 просмотр
Пригласить эксперта
Ответы на вопрос 6
SerafimArts
@SerafimArts
Senior Notepad Reader
Если нужен самый простой вариант, то да, как верно выразились выше: JSON.

Ещё можно взять BSON, или Msgpack. Они будут эффективнее, но сложнее для отладки.

Ещё, в в качестве самого корректного варианта я бы предложил Protobuf. Но стоит учитывать, что он сложнее описанных выше вариантов.
Ответ написан
Комментировать
@Vladev
Для такого приложения любой формат сойдет. Хоть собственный.
Ответ написан
Комментировать
GavriKos
@GavriKos Куратор тега Разработка игр
В любом - сокет оперирует байтами.
Можно и низкоуровнево чего передать, и в json обернуть. Последнее может быть малость оверхедом, зато легко и быстро.
Ответ написан
Комментировать
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Будут. Любой json, а что уже в нем - как угодно будет.
Ответ написан
Комментировать
@SergJP
Я тоже когда писал мобильное приложение и сервер прод него просто придумал свой формат обмена данными.
Просто разделял поля звездочками : *imei*код*параметр*
Общие форматы (XML, JSON) для простых задач избыточны.
Ответ написан
@Pardych
https://github.com/irmen/Pyrolite
вот такое есть
там
https://github.com/irmen/Pyrolite/blob/master/java...
и
https://github.com/irmen/Pyrolite/blob/master/java...
вообще мне просто интересно стало и я погуглил, у себя я сериализую-десереализую байт-массивы руками (они с железяки приходят по блютусу) - не очень веселое занятие
там еще проблемы с протоколом могут быть посмотрите вот тут примеры:
https://stackoverflow.com/questions/21794750/read-...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы