![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.11.2011
Сообщений: 45
|
![]()
Добрый день!
Волею судьбы так сложилось что мне необходимо реализовать клиент-серверное приложение (чат, с возможностью передачи изображений) на языке Java (клиент должен быть под android). В целом проблем с логикой написания клиента - не возникло. Возникли проблемы при написании серверной части. По условию протокол обмена данными между клиентом/сервером - http. Я имел опыт реализации подобной программы на C++, но там я использовал сокеты (socket) но они по модели OSI относятся к транспортному уровню, а не прикладному, как http. Честно говоря опыта в сетевом программировании у меня не особо много - поэтому, собственно и хотел получить советы: 1) Если я реализую данную программу с помощью сокетов - нарушу ли я условия задачи? 2) Если является возможным реализовать данную систему (клиент/сервер) ТОЛЬКО с использованием http запросов? (буду благодарен статьям/примерам) Заранее большое спасибо! |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Зачем усложнять себе жизнь? Берите Tomcat и смотрите например на сервлеты. Ну или на фреймворк типа Spring MVC.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 04.11.2011
Сообщений: 45
|
![]() Цитата:
Если у Вас есть возможность был бы благодарен самому простому примеру, как можно отправить сообщение (текст) на сервер, а с сервера другому клиенту (реализация чата из 2 собеседников). Если я правильно понимаю то порядок действий должен быть примерно такой: Собеседник 1 - С1 Собеседник 2 - С2 Сервер - С 1. С1 - посылает запрос на С с атрибутом, допустим message="Test123" 2. С - сохраняет данное сообщение, ждёт запроса от С2 на обновление 3. С2 - запрашивает новые сообщения у С, С - высылает все сообщения, полученные от С1, после определённого времени (запрашиваемого) Но вот если честно пока что нет четкого представления как именно реализовать такую систему запросов. Особенно больше всего интересует просто передача текстовых данных с/на сервер, а со всем остальным разберусь. Был бы благодарен хотя бы за пример на псевдокоде, потому что с Java я совсем не дружу! |
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Да, наверно можно и так если задача учебная.
А вообще вместо "ждёт запроса" можно что-то более продвинутое использовать типа вебсокетов. Ну или просто long polling. Еще непонятно общаются ли они только друг с другом (С1 с С2, С3 с С4) или общий чат для всех (как IRC, форум и т.п.) А что тут псевдокодить? Надо ж просто с синтаксисом разобраться если понятно как HTTP работает, ну и продумать до конца схему работы (как идентифицировать пользователей, авторизация если нужна, формат ответов сервера и т.п.). В Spring MVC будет что-то типа такого класса (+немного конфигурации, туториалов полно): Код:
Про сервлеты не помню что там и как, они низкоуровневее, так что если сокеты нравятся, то может быть будет проще.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 12.09.2016 в 17:18. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 04.11.2011
Сообщений: 45
|
![]()
Большое спасибо Вам за советы/подсказки!
Ну и уточнение, чат работает таким образом - случайным образом (по нажатию кнопки) ищется собеседник, т.е (С1-С2, С3-С4). Я не знаю можно ли это писать, но примерно копия чата , где только клиентом выступает телефон на android, а сервер - приложение Java. До 15.09 обязательно реализую данную систему, и поделюсь исходным кодом сервера/клиента, если кому-то это поможет! Последний раз редактировалось Андрей!; 14.09.2016 в 04:21. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Чат бот, знакомства и чат с людьми | Corp | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 0 | 17.06.2016 15:13 |
Реализация TCP+SSL клиент-сервера через Synapse | 3D Hunter | Работа с сетью в Delphi | 19 | 06.09.2013 08:08 |
Реализация веб-сервера сбора и обработки данных | radiosfera | Общие вопросы по программированию, компьютерный форум | 0 | 25.03.2013 10:55 |
Чат | f3arnil | Фриланс | 5 | 22.01.2013 18:01 |
Реализация icq сервера... | olegteror | Работа с сетью в Delphi | 4 | 11.01.2010 18:21 |