Клиенты на Android, сервер на Java. Как реализовать?

Ответить
cebephb1y
Сообщения: 5
Зарегистрирован: 11 фев 2016, 19:48

Клиенты на Android, сервер на Java. Как реализовать?

Сообщение cebephb1y » 13 апр 2016, 06:51

Нужно реализовать задачу Сервер-КлиентЫ. Сервер принимает запрос от клиента(клиентов), возвращает ему(им, каждому свое, т.е. он сервер должен иметь возможность узнавать, какой из клиентов к нему обратился, и посылать сообщения только ему),. Так же сервер может сам инициировать передачу данных клиенту(клиентам). Как можно решить такую задачу? Говорят сокеты использовать на андроиде - это энергозатратное решение. Какие есть "правильные" способы решения этой задачи?

math64
Сообщения: 235
Зарегистрирован: 16 июл 2012, 07:47

Re: Клиенты на Android, сервер на Java. Как реализовать?

Сообщение math64 » 13 апр 2016, 08:12

Зато сокеты есть и в обычной Java, и в Android. Если выделить общий код сервера и клиента, можно сэкономить на программировании - если задача не критичная по экономии ресурсов.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Клиенты на Android, сервер на Java. Как реализовать?

Сообщение Mikhail_dev » 13 апр 2016, 12:28

math64 писал(а):Зато сокеты есть и в обычной Java, и в Android. Если выделить общий код сервера и клиента, можно сэкономить на программировании - если задача не критичная по экономии ресурсов.
HttpClient тоже как бы есть и там и там. А сокетом держать соединение... И батарее сразу придёт конец.

Надо либо GCM использовать, либо делать свой keep alive. Первый вариант предпочтительнее.

cebephb1y
Сообщения: 5
Зарегистрирован: 11 фев 2016, 19:48

Re: Клиенты на Android, сервер на Java. Как реализовать?

Сообщение cebephb1y » 13 апр 2016, 14:57

math64 писал(а):Зато сокеты есть и в обычной Java, и в Android. Если выделить общий код сервера и клиента, можно сэкономить на программировании - если задача не критичная по экономии ресурсов.
нужно изначально делать правильно ;)
Mikhail_dev писал(а):
math64 писал(а):Зато сокеты есть и в обычной Java, и в Android. Если выделить общий код сервера и клиента, можно сэкономить на программировании - если задача не критичная по экономии ресурсов.
HttpClient тоже как бы есть и там и там. А сокетом держать соединение... И батарее сразу придёт конец.

Надо либо GCM использовать, либо делать свой keep alive. Первый вариант предпочтительнее.
подскажите где можно посмотреть пример с GCM

Sergey777
Сообщения: 68
Зарегистрирован: 30 мар 2015, 17:16

Re: Клиенты на Android, сервер на Java. Как реализовать?

Сообщение Sergey777 » 15 апр 2016, 12:13

Mikhail_dev писал(а):
math64 писал(а):Зато сокеты есть и в обычной Java, и в Android. Если выделить общий код сервера и клиента, можно сэкономить на программировании - если задача не критичная по экономии ресурсов.
HttpClient тоже как бы есть и там и там. А сокетом держать соединение... И батарее сразу придёт конец.

Надо либо GCM использовать, либо делать свой keep alive. Первый вариант предпочтительнее.
Здравствуйте! Подскажите пожалуйста а правда ли, что отправлять уведомления в GCM можно только до 4Кб с полезной нагрузкой? Получается, что этот способ подходит только лишь для push-уведомлений. У меня схожая задача с автором этой темы. Мне нужно изменять контент приложения без использования стандартного средства обновления приложения в Google Play. Всё это нужно реализовать по одной причине - заказчик хочет сам управлять контентом в готовом уже выложенном приложении. Естественно, что-то изменять в самом проекте готового приложения не выйдет (как бы мне этого не хотелось) по причине того что это сложно для заказчика. Хотелось бы использовать какой-то более менее удобный вариант, что-то на подобия сервиса parse.com (который к сожалению прекращает свою работу в 2017 году). Посоветуйте, пожалуйста, какие могут быть решения данной задачи без написания Api (серверной части) к своему приложению где-то на WEB-сервере?

0800009
Сообщения: 36
Зарегистрирован: 08 мар 2014, 20:40

Re: Клиенты на Android, сервер на Java. Как реализовать?

Сообщение 0800009 » 20 апр 2016, 18:31

А на стороне сервера что на может принимать запросы кроме
Socket и datagramsocket ?

0800009
Сообщения: 36
Зарегистрирован: 08 мар 2014, 20:40

Re: Клиенты на Android, сервер на Java. Как реализовать?

Сообщение 0800009 » 30 апр 2016, 09:04

Mikhail_dev писал(а):
math64 писал(а):Зато сокеты есть и в обычной Java, и в Android. Если выделить общий код сервера и клиента, можно сэкономить на программировании - если задача не критичная по экономии ресурсов.
HttpClient тоже как бы есть и там и там. А сокетом держать соединение... И батарее сразу придёт конец.

Надо либо GCM использовать, либо делать свой keep alive. Первый вариант предпочтительнее.
А если просто держать в приложении "сервер"сокет открытым в режиме ожидания не "держа соединение" как таковое,
будет ли это так же губительно для батареи.
Или просто наличие самого открытого сокета нагружает батарею?
И отличается ли дейтаграмм сокет от TCP сокета по нагрузке на батарею?
Спасибо

Ответить