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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Паблито
2240 / 1813 / 564
Регистрация: 12.05.2014
Сообщений: 6,456
Завершенные тесты: 1
#1

Клиент - сервер протокол - Android

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

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

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

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

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

Клиент-сервер (сокеты) Android
Клиент-сервер (сокеты) Android
клиент-сервер (телефон+планшет) Android
Android Сервер и клиент
клиент-сервер Android
клиент-сервер Android
Android Клиент-сервер для android
Клиент-сервер Linux-Android Android
Android Клиент-сервер. Базы
Клиент-Сервер Android
Android Клиент-сервер
Android Клиент и сервер

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
07.07.2014, 16:42     Клиент - сервер протокол #2
Паблито, нативного websocket нет. А зачем Вам он? Вам нужен какой-то риалтайм (аля чат)?

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

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

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

Потом я начал думать как лучше обмениваться данными.
Если через обычные сокеты, то получается мне нужно будет изобрести свой протокол для обмена данными? Что-то типа коротких сообщений?
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
07.07.2014, 17:17     Клиент - сервер протокол #4
Паблито, если игра, то конечно же сокеты.
Зачем Вам свой протокол? Чем сокет не нравится?
Цитата Сообщение от Паблито Посмотреть сообщение
сервер на node.js, клиент на обычной джаве.
клиент на android будет точно такой же
Паблито
2240 / 1813 / 564
Регистрация: 12.05.2014
Сообщений: 6,456
Завершенные тесты: 1
08.07.2014, 10:11  [ТС]     Клиент - сервер протокол #5
так я не спорю и не утверждаю что мне нужен свой протокол
клиент на джаве это я громко написал - там просто коннект по адресу и посылка нескольких символов, я дальше застрял и не могу даже понять по каким словам гуглить

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

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

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

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

Для игры с сотней одновременных (асинхронных?) "событий" наверное лучше подойдут сокеты и обмен строками. А уж тут полный простор для фантазии и граблей...
Yandex
Объявления
08.07.2014, 19:04     Клиент - сервер протокол
Ответ Создать тему
Опции темы

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