xmpp

Unable to connect with openfire using react-native-xmpp

怎甘沉沦 提交于 2021-01-27 04:41:09
问题 I have a react-native Chat application which I am running on my android phone using USB debugging and I am using OPENFIRE as a chat server. For connecting with Openfire I am using library ' react-native-xmpp '. Below is the code for connection with OPENFIRE using react-native-xmpp -- import XMPP from 'react-native-xmpp'; var JID = 'admin@192.168.4.246'; XMPP.on('error', (message) => console.log('ERROR:' + message)); XMPP.on('loginError', (message) => console.log('LOGIN ERROR:' + message));

openfire的入门学习

百般思念 提交于 2020-11-27 02:26:39
今年开始到5月都在学习和使用openfire进行公司新的项目开发,这里正好整理一下学习笔记。 openfire是什么? Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。 安装openfire,这个网络上面教程很多,安装也很方便,只要有jre环境就ok,就不多做说明了。 openfire采用xmpp协议,底层怎么交互可以不用研究,反正就是按xml的协议进行消息的交互。xml的好处就是扩展性强,缺点应该就是冗余 公司用的java开发,这里就涉及到openfire提供的api包,在java是smack,这是一个封装了很多消息,事件的包,使开发openfire变的相当快速。 再讲解一些openfire中的一些基本概念: jid: node@domain/resource,这就相当于唯一标示 (1) 名(domain identifier);openfire服务器的名称 (2) 点(node identifier);用户的名称 (3) 源(resource identifier).资源,可以理解为可以通过多种软件连接openfire,那个软件的标示 3个基础包 Presence:出席包,用来告知服务器是上线还是下线等状态信息 用枚举类型Presence

User session not found - error code 503

倾然丶 夕夏残阳落幕 提交于 2020-07-22 14:30:32
问题 When I write messages to a user who is offline - without sending it - I get an error Your message was not send because of an error pick error response: /http-bind/<body xmlns='http://jabber.org/protocol/httpbind'><message xml:lang='en' to='abogdanov@bingo-dev.ru/181473147433257603378' from='jabberadmin@bingo-dev.ru' type='error' xmlns='jabber:client'><paused xmlns='http://jabber.org/protocol/chatstates'/><error code='503' type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp

XMPP协议

时光怂恿深爱的人放手 提交于 2020-03-30 21:54:15
XMPP (Extensible Messageing and Presence Protocol) 可扩展消息与存在协议, 是目前主流的四种IM(即时消息)协议之一,其它三种分别为:即时信息和空间协议( IMPP )、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议 SIP (SIMPLE)。 在这四种协议中,XMPP是最灵活的。 XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。 1、什么是XMPP ? XMPP的前身是 Jabber ,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分: (1)核心的XML流传输协议 (2) 基于XML流传输的即时通讯扩展应用 XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上,借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮。

[转] 基于XMPP协议的Android即时通信系

北慕城南 提交于 2020-03-30 18:27:08
转自:http://blog.csdn.net/lnb333666/article/details/7471292 以前做过一个基于XMPP协议的聊天社交软件,总结了一下。发出来。 设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过GPRS无线网络用TCP协议连接到服务器,以架设开源的Openfn'e服务器作为即时通讯平台。 系统主要由以下部分组成:一是服务器,负责管理发出的连接或者与其他实体的会话,接收或转发XML(ExtensibleMarkup Language)流元素给授权的客户端、服务器等;二是客户终端。它与服务器相连,通过XMPP获得由服务器或任何其它相关的服务所提供的全部功能。三是协议网关。完成XMPP协议传输的信息与外部消息系统可识别信息间的翻译。再就是XMPP网络。实现各个服务器、客户端间的连接。系统采用客户端(Client)/服务端(Server)架构体系结构。 客户端: 客户端基于Android平台进行开发。负责初始化通信过程,进行即时通信时,由客户端负责向服务器发起创建连接请求。系统通过GPRS无线网络与Internet网络建立连接,通过服务器实现与Android客户端的即时通信脚。 服务器端: 服务器端则采用Openfire作为服务器。允许多个客户端同时登录并且并发的连接到一个服务器上。服务器对每个客户端的连接进行认证,对认证通过的客户端创建会话

浅谈对xmpp的理解及应用

走远了吗. 提交于 2020-03-30 18:26:19
参考原文链接 http://blog.sina.com.cn/s/blog_69f68f880102uyeg.html 一、xmpp是基于xml的协议。具有遵循标准,有安全性,使用TCP传的xml的流。  XMPP从下到上分四层,分别是TCP,TSL,SASL和XMPP层: 1.其中TCP保证了这是一个可靠的链路。 2.TSL主要采用STARTTLS加密算法保证传输数据的安全。 3.SASL用来认证客户端的真实有效性。 二、通过xmpp是如何实现即时通信的   1、首先客户端通过 TCP 连接服务器。   2、进行 TLS 握手。   3、SASL 身份验证。   4、完成SASL 验证之后,客户端重新初始化流,服务器向客户端声明资源绑定特性,客户端发起资源绑定请求,服务器相应请求,并且返回绑定后的完整的 JID 名。   5、在客户端的身份确认之后,客户端向服务端发送一个自身出席信息。服务器负责发送客户端的出席信息给客户端出席信息的订阅者。(我将其理解为X登录之后,服务器发送给X的好友说X上线了)   6、客户端向服务端请求客户端的花名册列表,服务端返回客户端的花名册列表。(好友列表)   7、客户端 1 向客户端 2 (在花名册中有这个 Jid )发送消息,服务端返回由客户端 2 发给客户端 1 的消息。(发送消息给好友)   8、最后客户端和服务端分别发送一个 关闭标签

Ejabberd with Stream management (XEP-198) not using offline message hook

回眸只為那壹抹淺笑 提交于 2020-03-21 10:35:33
问题 We are developing an app with a chat feature. We have an ejabberd (15.02) configured to use mod_offline_post to use the offline message hook and forward all messages for offline clients to an url of our own which then forwards to the GCM. However as we are developing an app, we also need XEP-198 (stream management) enabled to handle connection loss. This is working fine in itself. Streams are created and resumed, messages are acknowledged. The problem is, that the jabber is waiting for a

即时通讯协议之XMPP

主宰稳场 提交于 2020-03-17 06:55:08
目前IM即时通信有四种协议 1.即时信息和空间协议(IMPP) 2.空间和即时信息协议(PRIM) 3.针对即时通讯和空间平衡扩充的进程开始协议SIP 4.XMPP协议: 该协议的前身是Jabber, 我们采取XMPP协议主来实现IM主要是考虑XMPP协议是以XML为基础的,它继承了在XML环境中灵活的发展性。 这表明XMPP是可扩展的,所以XMPP信息不仅可以是简单的文本,而且可以携带复杂的数据和各种格式的文件,也就是说XMPP协议不仅可以用在人与人之间的交流,而且可以实现软件与软件或软件与人之间的交流,目前支持XMPP协议的即时通讯工具有Gtalk、FaceBook IM、Twitter、网易POPO等等通讯工具,具有非常好的发展情景。 基于C/S架构的即时通讯项目的设计 设计基于开源的XMPP即时通信协议,采用C/S体系结构,通过GPRS无线网络用TCP协议连接到服务器,以架设开源的Openfn'e服务器作为即时通讯平台。 系统主要由以下部分组成 一是服务器,负责管理发出的连接或者与其他实体的会话,接收或转发XML(ExtensibleMarkup Language)流元素给授权的客户端、服务器等; 二是客户终端。它与服务器相连,通过XMPP获得由服务器或任何其它相关的服务所提供的全部功能。 三是协议网关。完成XMPP协议传输的信息与外部消息系统可识别信息间的翻译

How to configure Push mode configuration in XMPP with FCM refresh token using smack in android?

こ雲淡風輕ζ 提交于 2020-03-16 05:46:32
问题 Currently i'm using smack library for XMPP configuration and I want to do XMPP connection of Ejabberd to firebase by send RefreshToken to XMPP. I need to close connection when application is in background or kill and receive notification from Firebase but how can i send refresh token and other param as below using smack library? At the start of each session the user must register to a push mechanism. Depending on the chosen mechanism, several parameters can be passed. The push configuration