Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
semiromid
7 / 7 / 2
Регистрация: 28.08.2014
Сообщений: 179
1

Сервер с протоколом XMPP в Java

25.08.2015, 12:30. Просмотров 995. Ответов 8
Метки нет (Все метки)

Здравствуйте! Подскажите пожалуйста, как реализовать сервер с протоколом XMPP в Java?
Что я уже сделал:
1.Установил Openfire
2.Установил и подключил к Openfire MySQL
3.Скачал библиотеку smack_4_1_3
4.Создал голый проект в Eclipse Luna
И дальше я не понимаю что нужно делать или как подключить или не подключать и что то другое сделать с библиотекой. --- Обычно у меня проблем с библиотеками не было. Подключал я их разными способами через"Bild Path".
Но тот архив который я скачал smack_4_1_3, я не уверен что все те файлы нужно подключать. Мне кажется что там нужно что то другое делать с ними, то что для меня совсем будет в новинку. Подскажите плз хоть в какой направлении копать дальше.

Java
1
2
3
4
5
6
7
8
9
10
11
12
public class test  {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
 
        // Под вопросом 
        //AbstractXMPPConnection conn1 = new XMPPTCPConnection("username", "password" "jabber.org");
        //conn1.connect();  
        
    }
 
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2015, 12:30
Ответы с готовыми решениями:

Xmpp и режим энергосбережения
на одном устройстве висит клиент xmpp. он подключен на события включения интернета. как только...

Сервер на PHP или на Java?
Что посоветуете? Хочу создать сервер на 10000 человек максимум (отправление небольших текстов), что...

Реализация сервера xmpp на Java
Хочу написать сервер xmpp на Java. Что должен уметь сервер авторизация клиента, отправка сообщения...

Чат (Сервер|Клиент) с UDP протоколом
Всем Привет, вообщем задача написать простенький чат c использованием UDP протокола. Для начала...

Клиент-сервер со своим протоколом передачи данных
На должность Junior .Net прислали задание: Необходимо разработать клиент-серверное приложение на...

8
zoleg
44 / 42 / 8
Регистрация: 10.01.2012
Сообщений: 391
25.08.2015, 19:07 2
Лучший ответ Сообщение было отмечено semiromid как решение

Решение

Обязательно на Jave?

Я заюзал libstrophe на Си - нравится.

smack поставил на клиенте. Связка неплохо работает как на ejabberd так и jabberd2
Подключил и к Openfire, но как посмотрел сколько он мозга жрет, сразу снес его.
С libstrophe запустился почти из коробки там есть примеры компонента и бота.
1
REALIST07
Автор FAQ
Автор FAQ
196 / 195 / 21
Регистрация: 11.06.2010
Сообщений: 1,019
25.08.2015, 21:57 3
Лучший ответ Сообщение было отмечено semiromid как решение

Решение

Вам сюда
1
semiromid
7 / 7 / 2
Регистрация: 28.08.2014
Сообщений: 179
26.08.2015, 14:34  [ТС] 4
zoleg, Подскажите пожалуйста, правильно ли я понимаю следующие:

Задача:
*контроль внутренних процессов в андроид приложении, как со стороны приложения так и со стороны сервера;
*оповещение пользователей или пользователей по определённым критериям (массовая рассылка сообщений);
*различные взаимодействия между пользователями (допустим чат);

Что нужно для реализации:
Вариант 1.
1.1 Приложения для андроид
1.2 Google Cloud Messaging
1.3 Удалённый сервер приложений , который должен в себя включать :
* OpenFire
* MySQL - для будем хранить базу, включая базу пользователей
* Серверный клиент на Java(свой)
* Протолок передачи и приёма данных XMPP


Вариант 2.

1.1 Приложения для андроид
1.2 Google Cloud Messaging
1.3 Удалённый сервер приложений , который должен в себя включать :
* Сервер приложений на Java(свой)
* MySQL - для будем хранить базу, включая базу пользователей
* Протолок передачи и приёма данных XMPP
Примечание: (Не уверен нужен ли вообще OpenFire)
0
26.08.2015, 14:34
REALIST07
Автор FAQ
Автор FAQ
196 / 195 / 21
Регистрация: 11.06.2010
Сообщений: 1,019
26.08.2015, 16:51 5
Вы определитесь для себя что вам нужно?
Можно использовать связку openfire + mysql + android app для создания классического мессенджера типа ICQ,JABBER и т.д.
Можно использовать кастомный сервер связкой GCM(.php скрипты например) + mysql + android app
Это две разные технологии.
1
semiromid
7 / 7 / 2
Регистрация: 28.08.2014
Сообщений: 179
26.08.2015, 20:09  [ТС] 6
REALIST07, Я думаю лучше и то и то попробовать, что бы понять что для чего больше подходит и.т.д А где именно используется библиотека smack? Она используется в клиенте андроид приложения?
0
REALIST07
Автор FAQ
Автор FAQ
196 / 195 / 21
Регистрация: 11.06.2010
Сообщений: 1,019
26.08.2015, 21:42 7
Если у вас это не бизнес - приложение и время не жмет,попробуйте, я могу дать вам ссылки в личку если нужно где можно посмотреть рабочий код.
Smack - это api для связи с Openfire , реализующий протокол XMPP,общение происходит по средством XML - файлов иными словами его классы передают и принимают XML - файлы , подходящие под стандарты с этого сайта
1
zoleg
44 / 42 / 8
Регистрация: 10.01.2012
Сообщений: 391
26.08.2015, 23:04 8
Цитата Сообщение от semiromid Посмотреть сообщение
Задача:
*контроль внутренних процессов в андроид приложении, как со стороны приложения так и со стороны сервера;
*оповещение пользователей или пользователей по определённым критериям (массовая рассылка сообщений);
*различные взаимодействия между пользователями (допустим чат);
Ну мне не нужно было охватывать такой объем разных общалок.

У меня стояла задача управления окнами приложения на клиенте.
То есть клиент посылает запрос, сервер ему разрешает или не разрешает запустить ту или иную активити и к разрешению подкидывает данные для этой активити (в зависимости от того что там сервер наковырял в БД для этого клиента).

На клиенте поставил smack, на сервере мускуль и еjabber, программа, которая разговаривает с клиентом в жабе зарегена рядовым юзером.

Клинт шлет запрос юзеру/боту/серверу (кому как нравиться называть) где посредником в общении выступает jabberd, юзер/бот/сервер отвечает. Однако, юзер/бот/сервер тоже может послать месагу клиенту или группе клиентов, на что он или они вынуждены будут ответить. Таким образом реализован пушинг месаг. По сути получилась работа в псевдорежиме сервер-сервер. Такая схема позволяет в любой момент сервером инициализировать открытие нужной активити на клиенте, или вытащить из клиента нужные данные.

Естестве как клиент так и сервер могут в любой момент отправить любую месагу любому другому юзеру жабы.
1
semiromid
7 / 7 / 2
Регистрация: 28.08.2014
Сообщений: 179
27.08.2015, 08:27  [ТС] 9
REALIST07,
Если у вас это не бизнес - приложение и время не жмет,попробуйте, я могу дать вам ссылки в личку если нужно где можно посмотреть рабочий код.
Было бы очень интересно посмотреть. Спасибо.
0
27.08.2015, 08:27
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.08.2015, 08:27

HtmlAgilityPack как парсить сайт с протоколом https если без "правильных" cookie сервер отдает не всю страницу
Хотел вытаскивать определенную информацию с одного из сайтов mail при помощи HtmlAgilityPack но...

Java сервер Flash клиент java.io.StreamCorruptedException: invalid stream header
Есть класс сериализованный на стороне java (сервер) и actionscript(клиент). При попытке передачи...

Сервер для игры java+php или java
Всем привет. Возник вопрос следующего характера. Знаю php и java, однако по вопросу создания...


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

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

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