Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Pablito
2505 / 1989 / 619
Регистрация: 12.05.2014
Сообщений: 6,944
Завершенные тесты: 1
#1

Клиент - сервер протокол - Программирование Android

07.07.2014, 16:04. Просмотров 1453. Ответов 5
Метки нет (Все метки)

Всем привет.
Я пытаюсь понять как и с помощью чего можно организовать клиент-серверное приложение.
Гуглю вторую неделю, перечитал кучу статей, но особо ясности нет.

Мне понравилось как люди делают на node js.
На стороне сервера все понятно, я все сделал из примеров. Браузер (типа клиент) и сервер обмениваются сообщениями по протоколу Websocket (могу ошибаться, еще не до конца вник).

Как это сделано на JS мне очень понравилось - все лаконично и понятно, можно создавать и обмениваться сообщениями между браузером и сервером.

И тут вопрос, а как можно сделать тоже самое, только что бы клиентом был android ?
Нагуглил пару названий сторонних библиотек, но мне все время кажется что можно как-то сделать по другому. То есть вместо websockets использовать что-то другое, родное для Андроида....но что?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2014, 16:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Клиент - сервер протокол (Программирование Android):

Клиент-сервер - Программирование Android
Здравствуйте. Возникло желание создать клиент (андоид) / сервер на ПК (java). Принцип работы клиент сервера: 1. На сервере добавляю...

Сервер и клиент - Программирование Android
Хочу написать простенький сервер, который передает с клиента, то есть с телефона, сообщение по нажатию на кнопку. Передает на сервер,...

клиент-сервер - Программирование Android
Всем привет, помогите,пжлста, разобраться. Пытаюсь сделать простое клиент-сервер соединение (удп). Сервер запускается, но когда запускаю...

клиент-сервер - Программирование Android
Dear All. Я потихоньку изучаю программирование под андроид и вот пришло время думать над такой задачей - а как вообще организовывается...

Клиент-Сервер - Программирование Android
Во вложении фото моей активности. На ней отображается мое местоположение в виде маркера. Как мне отобразить местоположение другого...

Клиент и сервер - Программирование Android
У меня есть TCP клиент андроид и сервер Qt. На сервер все данные нормально приходят но на клиент ответ от сервера(текстовое сообщение) не...

5
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
07.07.2014, 16:42 #2
Паблито, нативного websocket нет. А зачем Вам он? Вам нужен какой-то риалтайм (аля чат)?

Можно обычный socket. Со стороны ноды - обычный сокет-сервер. Со стороны андроид - нативный Socket
1
Pablito
2505 / 1989 / 619
Регистрация: 12.05.2014
Сообщений: 6,944
Завершенные тесты: 1
07.07.2014, 17:07  [ТС] #3
я в этом еще плаваю на поверхности

Хотелось бы реалтайм конечно, я пытаюсь написать простенькую игру.

Сначала я протестировал работу через обычные сокеты: сервер на node.js, клиент на обычной джаве.
Там все понятно, примеров в инете полно. Все работает.

Потом я начал думать как лучше обмениваться данными.
Если через обычные сокеты, то получается мне нужно будет изобрести свой протокол для обмена данными? Что-то типа коротких сообщений?
0
YuraAAA
1577 / 1318 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
07.07.2014, 17:17 #4
Паблито, если игра, то конечно же сокеты.
Зачем Вам свой протокол? Чем сокет не нравится?
Цитата Сообщение от Паблито Посмотреть сообщение
сервер на node.js, клиент на обычной джаве.
клиент на android будет точно такой же
1
Pablito
2505 / 1989 / 619
Регистрация: 12.05.2014
Сообщений: 6,944
Завершенные тесты: 1
08.07.2014, 10:11  [ТС] #5
так я не спорю и не утверждаю что мне нужен свой протокол
клиент на джаве это я громко написал - там просто коннект по адресу и посылка нескольких символов, я дальше застрял и не могу даже понять по каким словам гуглить

не понимаю как можно организовать нормально обмен данными, например что бы на клиент приходили сообщения "new", "del", "update" а он на них реагировал какими-то методами
и то же самое с сервером - клиент отправляет на него сообщение, например "new base" и опционально какие-то параметры

Добавлено через 14 минут
я все таки нашел нужное слово - СОБЫТИЯ
в какую сторону копать что бы сделать возможным обмен событиями между клиентом и сервером?

Добавлено через 16 часов 30 минут
пока я нашел только одно предложение как люди делают: между клиента и сервером передаются строки с "\n" в конце
как-то это все странно, что бы написать свой протокол надо столько всего предусмотреть...на велосипед похоже
0
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
08.07.2014, 19:04 #6
Цитата Сообщение от Паблито Посмотреть сообщение
как-то это все странно, что бы написать свой протокол надо столько всего предусмотреть...на велосипед похоже
У меня тоже такое впечатление возникло, но... универсальные решения конечно есть(вроде у гугла), но это уже не велосипеды, а комбайны. Тяжелы в настройке, но вполне универсальны. Работают надежно, но трафика берут раз в 5 больше необходимого (xml vs txt, xml vs bin) и нагружают процессор(парсеры и упаковщики)... Используют бесплатные чужие сервера (они умрут или решат сменить протокол и вся система падает) или сервера тоже нужно уметь настраивать(в основном отключать лишние 90%)... Сбалансировать под Вашу задачу всегда тяжело. В большинстве случаев похоже проще написать велосипед с нуля!

Я например простой чат сделал на обычном php с ежесекундной проверкой малюсенького скрипта ("есть ли для меня новости?" - "есть-отлично-шли весь пакет"). Легко переносится на любой хостинг (даже беспатные есть) и моих знаний в обоих средах/языках хватило для быстрого написания...

Для игры с сотней одновременных (асинхронных?) "событий" наверное лучше подойдут сокеты и обмен строками. А уж тут полный простор для фантазии и граблей...
0
08.07.2014, 19:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2014, 19:04
Привет! Вот еще темы с ответами:

Клиент-сервер. Базы - Программирование Android
Здравствуйте. Поясните(нкаидайте ссылкон на инфу), пожалуйста, как организовать клиент-сервер на Android? Как передавать данные в базу и...

Клиент-сервер (сокеты) - Программирование Android
Пытаюсь написать два приложения: первое запускается на ПК (написано на JAVA и оно же сервер), второе на Android (оно же клиент). Клиент...

Клиент-сервер (сокеты) - Программирование Android
Хочу тестировать клиент-серверное приложение на базе слкетов, но не знаю какой IP нужно указывать в клиентском приложении, которое потом...

Не работает связь сервер/клиент - Программирование Android
Привет всем народ =) Сделал прогу на java сервер и клиент, они работают, всё нормально запускается через командную строку клиент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru