Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Pablito
2652 / 2134 / 727
Регистрация: 12.05.2014
Сообщений: 7,447
Завершенные тесты: 1
#1

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

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

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

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

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

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

Клиент и сервер
У меня есть TCP клиент андроид и сервер Qt. На сервер все данные нормально...

Клиент-сервер
Здравствуйте. Возникло желание создать клиент (андоид) / сервер на ПК (java). ...

Сервер и клиент
Хочу написать простенький сервер, который передает с клиента, то есть с...

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

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

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

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

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

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

Потом я начал думать как лучше обмениваться данными.
Если через обычные сокеты, то получается мне нужно будет изобрести свой протокол для обмена данными? Что-то типа коротких сообщений?
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
07.07.2014, 17:17 #4
Паблито, если игра, то конечно же сокеты.
Зачем Вам свой протокол? Чем сокет не нравится?
Цитата Сообщение от Паблито Посмотреть сообщение
сервер на node.js, клиент на обычной джаве.
клиент на android будет точно такой же
1
Pablito
2652 / 2134 / 727
Регистрация: 12.05.2014
Сообщений: 7,447
Завершенные тесты: 1
08.07.2014, 10:11  [ТС] #5
так я не спорю и не утверждаю что мне нужен свой протокол
клиент на джаве это я громко написал - там просто коннект по адресу и посылка нескольких символов, я дальше застрял и не могу даже понять по каким словам гуглить

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

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

Добавлено через 16 часов 30 минут
пока я нашел только одно предложение как люди делают: между клиента и сервером передаются строки с "\n" в конце
как-то это все странно, что бы написать свой протокол надо столько всего предусмотреть...на велосипед похоже
0
Tester64
396 / 357 / 46
Регистрация: 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
Привет! Вот еще темы с решениями:

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

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

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

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


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

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

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