XMPP详解 XMPP(eXtensible Messaging and Presence Protocol,可扩展消息处理和现场协议)是一种在两个地点间传递小型结构化数据的协议.在此基础上,XMPP协议已经被用来构建大规模即时通信系统.游戏平台.协作空间及语音和视频会议系统. XMPP由几个小的构造块组成,并在此基础上扩展出了更多的构造块.XMPP中有众多系统:发布-订阅服务.多人聊天.表单检索与处理.服务发现.实时数据传输.隐私处理及远程过程调用等. 大多数社交媒体(Facebook及Twi…
package com.test; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.jivesoftware.smackx.pubsub.PayloadItem; import org.jivesoftware.smack.…
创建HTML和JS ofwebrtc.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>HTML5 GetUserMedia Demo</title> <meta name="viewport" content="width=device-width, initial-scale=1.…
转载地址:http://www.cnblogs.com/hoojo/archive/2013/03/29/openfire_plugin_chatlogs_plugin_.html 开发环境: System:Windows WebBrowser:IE6+.Firefox3+ JavaEE Server:tomcat5.0.2.8.tomcat6 IDE:eclipse.MyEclipse 6.5 开发依赖库: Jdk1.6.jasper-compiler.jar.jasper-runtime.j…
xmpp协议的定义? XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性. 因此.基于XMPP的应用具有超强的可扩展性.经过扩展以后的XMPP能够通过发送扩展的信息来处理用户的需求.以及在XMPP的顶端建立如内容公布系统和基于地址的服务等应用程 序. 并且,XMPP包括了针对server端的软件协议,使之能与还有一个进行通话,这使得开发人员更easy建立客户应用程序或给一个配好系统加入功能. 在此我概括一下xmpp协议的优缺点: 长处: XMPP协议是自由.…
Strophe简介与Openfire配置 Strophe.js是为XMPP写的一个js类库.因为http协议本身不能实现持久连接,所以strophe利用BOSH模拟实现持久连接. 官方文档: http://strophe.im/strophejs/doc/1.2.15/files/strophe-js.html https://stackoverflow.com/questions/17311901/strophe-js-giving-authfail-status-always Strophe…
package com.testV3; import java.util.List; import org.jivesoftware.smack.ConnectionListener; import org.jivesoftware.smack.SmackException.NoResponseException; import org.jivesoftware.smack.SmackException.NotConnectedException; import org.jivesoftware…
sub  ask  recv 订阅 询问 接受 含义 substatus -1-  应该删除这个好友          Indicates that the roster item should be removed. 0-  没有建立好友关系         No subscription is established. 1-  用户已经发出好友请求         The roster owner has a subscription to the roster item's presenc…
下载Openfire源码 下载地址:https://www.igniterealtime.org/downloads/index.jsp,当前最新版本为:4.2.3 Eclipse上部署Openfire 1.把openfire源文件拷贝到Eclisps的工作目录中,我的目录是D:\eclipse-workspace 2.进入openfire_src>build>eclipse目录下,把里面settings.classpath.project三个文件拷贝到openfire_src目录,并用win…
1.开启REST API插件或根据需求修改其插件源码: 2.添加服务器->服务器管理->系统属性中添加 plugin.restapi.enabled=true 3.pom依赖 <dependency> <groupId>org.igniterealtime</groupId> <artifactId>rest-api-client</artifactId> <version>1.1.4</version> &l…
Openfire服务器安装 下载地址:https://www.igniterealtime.org/downloads/index.jsp,根据你的操作系统,选择对应的下载版本.本文选择的是openfire_4_2_3_bundledJRE_x64.exe 64-bit, Includes 64-bit Java JRE版本. Ubuntu安装: (1) sudo dpkg -i openfire_4.2.3_all.deb (2) tar -xzvf openfire_4_2_3.tar.gz…
前言 在开发Openfire插件前需要构建完成服务器源码编辑环境,具体操作步骤请参照Openfire服务器源码编译的了解. 开发简单的Openfire插件 1.已构建完成的Openfire源码结构如下: 2.查看已有的插件结构,并生成自己的插件结构,转到Navigator视图下 已有插件目录结构 参照已有目录结构,创建自己的目录结构,在plugins目录邮件->New->Folder 3.在新建的simplePlugin目录右键->New->Folder 4.在切换至Package…
行号 字段名称 字段描述 字段类型 长度 主键 说明 允许为空 用户组数据表(ofGroup) 1 groupName 组名 varchar2 50 ★   NOT NULL 2 description 组描述信息 varchar2 255         组属性名-值对应表(ofGroupProp) 1 groupName 组名 varchar2 50 ★   NOT NULL 2 name 组属性名 varchar2 100     NOT NULL 3 propValue 组属性值 var…
XMPP参考 一.定义 XMPP 是一种很类似于http协议的一种数据传输协议,它的过程就如同“解包装--〉包装”的过程,用户只需要明白它接受的类型,并理解它返回的类型,就可以很好的利用xmpp来进行数据通讯. XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测.它在促进服务器之间的准即时操作.这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同.XMPP的前身是Jabber,一个开源形式组织产生…
最近一直做物联网方面的开发,以下内容关于使用MQTT过程中遇到问题的记录以及需要掌握的机制原理,主要讲解理论. 背景 MQTT是IBM开发的一个即时通讯协议.MQTT构建于TCP/IP协议上,面向M2M和物联网IoT的连接协议,采用轻量级发布和订阅消息传输机制.Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的短消息通信简单易用. 基本概念 [MQTT协议特点]——相比于RESTful架构的物联网系统,MQ…
几天开始研究XMPP即时通讯的技术,来实现移动应用的计时聊天功能.记录下参考的博客地址,还挺详细的. http://blog.csdn.net/fhbystudy/article/details/16117561 http://blog.sina.com.cn/s/blog_aef8b52701019sle.html…
目前IM即时通信有四种协议 1.即时信息和空间协议(IMPP) 2.空间和即时信息协议(PRIM) 3.针对即时通讯和空间平衡扩充的进程开始协议SIP 4.XMPP协议: 该协议的前身是Jabber, 我们采取XMPP协议主来实现IM主要是考虑XMPP协议是以XML为基础的,它继承了在XML环境中灵活的发展性. 这表明XMPP是可扩展的,所以XMPP信息不仅可以是简单的文本,而且可以携带复杂的数据和各种格式的文件,也就是说XMPP协议不仅可以用在人与人之间的交流,而且可以实现软件与软件或软件与人…
本博文,保证不用装B的话语和太多专业的语言,保证简单易懂,只要懂JAVAEE开发的人都可以看懂. 本博文发表目的是,目前网上针对Websocket的资料太散乱,导致初学者的知识体系零零散散,学习困难加大.本博加以整理,并且实践. 所用核心技术选型: Tomcat + Spring 4.0.3 + Mongodb(高并发数据库) + SpringQueue(消息队列)+ ActiveMQ (消息队列) + Spring-data-Mongo + Servlet 3.0 +Spring-Websoc…
xmpp的使用: 即时通讯 instant messaging(IM) :  -->实时收发信息! 即时通讯相关软件: **QQ,MSN,GoogleTalk,AIM,Jabber(XMPP别名),百度hi,网易泡泡,盛大圈圈,淘宝旺旺,易信,iChat**等等. 即时通讯另一类是: **企业用IM,简称EIM*,如:E话通,UC,EC企业即时通信软件,UcSTAR.商务通**等.  一.前奏: >> 传输协议梳理,Socket终极奥义,CoreData ## 传输协议梳理 **Q:传输…
XMPP:XMPP是基于XML的点对点通讯协议,The Extensible Messaging and Presence Protocol(可扩展通讯和表示协议). XMPP可用于服务类实时通讯,表示和需求响应服务中的XML数据元流失传输.XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议. 基本结构. XMPP是一个典型的C/S架构,而不是像大多数即时通讯软件一样,使用P2P客户端到客户端的架构,也就是说在大多数情况下,当两个客户端进行通讯时,他们的消息都是通过服务…
首先搭载服务器和数据库 搭载服务器我用的是openfire,数据库用的是mysql 这里推荐两个链接 配置mysql,用的是mysql workbench http://justsee.iteye.com/blog/1753467 配置服务器 openfire http://www.cnblogs.com/xiaodao/archive/2013/04/05/3000554.html 先配置好数据库然后配置服务器 两个都打开 下一个XMPP客户端,就是用来测试的 我下的是Adium 这里下 ht…
一.库相关操作 1.创建数据库 (1)语法 create database 数据库 charset utf8; (2)数据库命名规范 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使用关键字如 create select 不能单独使用数字 最长128位 2.数据库的操作 # 1. 查看数据库 show databases; #查看所有数据库 show create database db1; #查看创建数据库的SQL语句 select database(); # 2. 选择数据库…
库相关操作.表相关操作(一).存储引擎.数据类型 一.库相关操作 1.创建数据库 (1)语法 create database 数据库 charset utf8; (2)数据库命名规范 可以由字母.数字.下划线.@.#.$ 区分大小写 唯一性 不能使用关键字如 create select 不能单独使用数字 最长128位 2.数据库的操作 # 1. 查看数据库 show databases; #查看所有数据库 show create database db1; #查看创建数据库的SQL语句 sele…
参考网址:http://www.jianshu.com/p/8894a5a71b70 借图描述原理: 三.注册.登陆.聊天功能的实现 故事板如下: 四个类如下: 不喜多言,直接上Demo: LoginViewController.h #import "ViewController.h" #import "XMPPManager.h" #import "RosterViewController.h" @interface LoginViewCont…
1.配置XMPP(XMPPConfig.m) 2.配置XMPPFramework框架 3.创建单例类(XMPPManager.h/XMPPManager.m)管理器 XMPPManager.m: #import "XMPPManager.h" #import "AppDelegate.h" //连接服务器的目的 typedef NS_ENUM(NSInteger, ConnectToServerPopurpose) { ConnectToServerPopurpos…
摘要:本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样.但是这并不代表HTTPS的真实设计过程.在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”过程. 我们先不了聊HTTP,HTTPS,我们先从一个聊天软件说起,我们要实现A能发一个hello消息给B: 如果我们要实现这个聊天软件,本文只考虑安全性问题,要实现A发给B的hello消息包,即使被中间人拦截到了,也无法得知消息的内容. 如何做到真正的安全 这个问题,很多人马上就想到了各种加密算法,…
这里只是列出实现的只要步骤,不是全部代码. 首先导入XMPPFramework,及相关配置,完成后开始. 创建一个XMPPHelper  类来管理要进行的操作. XMPPHelper.h文件如下 typedef void(^loginSuccessBlock)(void); typedef void(^loginFailBlock)(NSString *info); typedef void(^fenchFridendList)(id result); typedef void(^logoutS…
0 http://blog.csdn.net/lnb333666/article/details/7471292 0.1 http://www.cnblogs.com/charley_yang/archive/2011/03/27/1997058.html 0.2 http://www.apkbus.com/forum.php?mod=viewthread&tid=137667 0.3 http://www.apkbus.com/android-3747-1.html 1 http://blog…
服务端代码 websocket.js 'use strict' const WebSocket = require('ws'); const connections = new Map(); const Constr = function(port) { const self = this; self.webSocket = new WebSocket.Server({ port: port }); }; Constr.prototype.connect = function() { const…