ebook img

XMPP адресует aka. JID (Jabber Identifiers) PDF

20 Pages·2017·1.36 MB·Russian
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview XMPP адресует aka. JID (Jabber Identifiers)

xmpp #xmpp 1 1: xmpp 2 2 2 Examples 2 2 SleekXMPP (Python) 2 Smack (Java / Android) 3 3 Xmpp agsxmpp 4 agsxmpp 4 2: XMPP aka. JID (Jabber Identifiers) 6 6 6 6 Examples 6 JID () 6 JID 8 JID () 8 JID (Go) 10 JID (Rust) 11 3: 12 12 12 12 12 13 Examples 13 XMPP 13 4: 16 16 Examples 16 16 16 XMPP, agsxmpp 17 18 Около You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: xmpp It is an unofficial and free xmpp ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official xmpp. The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners. Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to [email protected] https://riptutorial.com/ru/home 1 глава 1: Начало работы с xmpp замечания Расширяемый протокол обмена сообщениями и присутствия (XMPP) - это сетевой протокол, который использует XML для обмена структурированными данными между двумя или более связанными с сетью объектами в режиме реального времени. XMPP был создан для соответствия рекомендациям IETF для протоколов обмена мгновенными сообщениями и присутствия ( RFC 2779 ), но его назначение выходит далеко за рамки IM. Он также используется в качестве ориентированного на сообщения промежуточного программного обеспечения, для обмена данными между машиной и машиной (M2M) и для Internet of Things (IoT). Легкий основной протокол XMPP предоставляет пользователям • высокая аутентификация • глобальные адреса • структурированный и расширяемый формат для обмена данными Расширяемый подход позволяет создавать собственные протоколы поверх ядра XMPP. Основной протокол XMPP определен в RFC 6120 и управляется Целевой группой Internet Engineering Task Force (XMPP). Расширения обмена мгновенными сообщениями определены в RFC 6121 , а третий документ ( RFC 7622 ) определяет формат адресов XMPP, также называемых «Jabber Identifiers» (JID). Дополнительная функциональность указана в виде протоколов расширения XMPP (XEP), которые создаются сообществом и поддерживаются Фондом стандартов XMPP (XSF). Версии Версия Заметки Дата выхода 1,0 Core: RFC 6120 , IM: RFC 6121 , адрес: RFC 7622 2011-03-01 0.9 Core: RFC 3920 , IM: RFC 3921 , Адрес: RFC 6122 2004-10-01 Examples Подключение и отправка сообщения SleekXMPP (Python) https://riptutorial.com/ru/home 2 import sleekxmpp client = sleekxmpp.Client("[email protected]", "password") client.connect() client.process(blocking=False) client.send_message(mto="[email protected]", mbody=self.msg) Smack (Java / Android) XMPPTCPConnection connection = new XMPPTCPConnection("user", "password", "example.org") connection.connect().login(); Message message = new Message("[email protected]", "Hi, how are you?"); connection.sendStanza(message); connection.disconnect(); Создание сеанса чата и отправка сообщения Smack (Java) • Использование Smack 4.1 • Рекомендуется включать в проект Smack как зависимость Maven (например, используя gradle или Maven). • Кроме того, следующие атрибуты / баны Smack должны быть добавлены вручную в путь класса: smack-core, smack-extensions, smack-experimental, smack-im, smnack-tcp, smack-java7 import org.jivesoftware.smack.ConnectionConfiguration.SecurityMode; import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.chat.Chat; import org.jivesoftware.smack.chat.ChatManager; import org.jivesoftware.smack.chat.ChatMessageListener; import org.jivesoftware.smack.packet.Message; import org.jivesoftware.smack.packet.Presence; import org.jivesoftware.smack.tcp.XMPPTCPConnection; import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration; public void sendMessage() { XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder() .setServiceName("mydomain.local") .setHost("127.0.0.1") .setPort(5222) .build(); XMPPTCPConnection connection = new XMPPTCPConnection(config); connection.connect(); connection.login("test1", "test1pwd"); ChatManager chatManager = ChatManager.getInstanceFor(connection); String test2JID = "[email protected]"; https://riptutorial.com/ru/home 3 Chat chat = chatManager.createChat(test2JID); chat.sendMessage("Hello, how are you?"); connection.disconnect(); } Создание клиентского соединения Xmpp с использованием библиотеки agsxmpp public void OpenXmppConnection(int port, bool useSsl, string serverJid, string userName, string password) { try { _xmppClientConnection.AutoResolveConnectServer = true; _xmppClientConnection.Port = port; _xmppClientConnection.UseSSL = useSsl; _xmppClientConnection.Server = serverJid; _xmppClientConnection.Username = userName; _xmppClientConnection.Password = password; _xmppClientConnection.Resource = "web"; //authenticate and open connection with server _xmppClientConnection.Open(); } catch (Exception ex) { } } Отправить сообщение с помощью библиотеки agsxmpp public class ConversationManager { #region ClassMemeber private XmppClientConnection _xmppClientConnection = null; public ConversationManager(XmppClientConnection con) { _xmppClientConnection = con; } public void SendMessage(string message, string to, string guid, string type) { try { if (_xmppClientConnection != null) { Jid jidTo = new Jid(to); agsXMPP.protocol.client.Message mesg = new agsXMPP.protocol.client.Message(jidTo, _ConnectionWrapper.MyJid, agsXMPP.protocol.client.MessageType.chat, message); https://riptutorial.com/ru/home 4 mesg.Id = guid; mesg.AddChild(new agsXMPP.protocol.extensions.msgreceipts.Request());//request delievery _xmppClientConnection.Send(mesg); } } catch (Exception ex) { } } } Прочитайте Начало работы с xmpp онлайн: https://riptutorial.com/ru/xmpp/topic/2451/начало- работы-с-xmpp https://riptutorial.com/ru/home 5 глава 2: XMPP адресует aka. JID (Jabber Identifiers) Синтаксис • [localpart "@"] domainpart ["/" resourcepart] параметры Часть Общее использование Локальная часть Идентифицирует объект XMPP (необязательно) Domainpart Идентифицирует службу XMPP Resourcepart Определяет сеанс объекта XMPP (необязательно) замечания Адреса XMPP, более известные как JID (Jabber Identifiers), определены в RFC 7622 и действуют как адреса в сети XMPP. Они выглядят как адрес электронной почты, но иногда имеют необязательную «ресурсную часть» в конце, которая идентифицирует конкретного клиента, зарегистрированного как учетную запись, представленную остальной частью адреса (поскольку XMPP может иметь несколько клиентов, подключенных к каждой учетной записи). Пример адреса XMPP с ресурсом resourcepart (клиент) xyz : [email protected]/xyz Examples Разделение JID (общий) Чтобы разделить JID на его составные части (локальную часть, domainpart и resourcepart), следует использовать следующий алгоритм (где локальная часть представлена lp , resourcepart by rp , а domainpart - dp и ∈ , используется для проверки того, данный символ включен в строку): https://riptutorial.com/ru/home 6 https://riptutorial.com/ru/home 7 Обратите внимание, что localpart и resourcepart

Description:
Расширяемый протокол обмена сообщениями и присутствия (XMPP) - это сетевой протокол, который использует XML для обмена
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.