@Nube

Передача данных по сети,как?

Здравствуйте. У меня есть простенький сервер и клиент, оба на java . Я сумел успешно передать String с клиента на сервер, теперь я хочу передать объект, например Account, где есть поля пароль(char) и имайл(char) .Я хотел бы узнать как его передать, в виде формата json или нужно отправлять массив полей класса Account, а так же как это делается в WhatsApp или ВКонтакте ?Спасибо!
  • Вопрос задан
  • 548 просмотров
Решения вопроса 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
1) Массив полей передавать плохо. Представьте, что через 5-10 дней вам понадобится еще одно поле добавить. Придется код менять и на клиенте и на сервере.
Из этого вывод - упаковка данных должна, по возможности, быть вариативной к данным, чтобы добавление нового поля класса не убивало все на корню. Для этого подходит сотня-другая протоколов, начиная от json (что очень хорошо), и заканчивая protobuf (что тоже очень неплохо), можно даже в XML упаковывать, здесь все от вкуса и цвета зависит. Я предпочитаю json.
2) Обмен лучше делать на стандартyых высокоуровневых протоколах, начиная от HTTP(S) и заканчивая каким нибудь XMPP, можно использовать и очереди сообщений типа RabbitMQ/ZeroMQ и им подобные. Мой фаворит HTTP.
Соответственно, с одной стороны должен быть HTTP сервер или приложение, которое его эмулирует, или сервлет. С другой стороны - клиент, который посылает запросы к вашему серверу. Ну а данные гонять через json.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
fornit1917
@fornit1917
Как хотите, так и передавайте. Если и клиент и сервер на яве, то можете хоть стандартную сериализацию делать (www.java2s.com/Code/Java/Network-Protocol/ObjectIn...
Ответ написан
Комментировать
teke_teke
@teke_teke
programador
Да, в json'e. Можно еще в xml'e.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы