openfire+strophe
其实是关于strophe的使用的,因为openfire那部分我并没有安装,项目过程中是直接访问的已经部署好的服务器了。
关于使用strophe+ openfire完成 即时通讯,做到及时的信息交互,
主要修改bosh_service 连接的openfire 服务器地址。
内在提供的三个方法:
主要是通过 echobot来调用strophe.js支持包的,
js入口:
$(document).ready(function(){
});
就是js 加载的时候完成代码灌入。
0,注册全局变量
var connection = null;
var BOSH_SERVICE = 'http://203.195.141.57:7070/http-bind/';
var tFlag = false
//tFlag 变量用于判断是否处于连接的状态,便于对连接成功情况=的判断
------------------
1,创建连接:
connection = new Strophe.Connection(BOSH_SERVICE);
------------------
2,进行连接
connection.connect(jid,pass,onConnect);
//参数就是,登陆的用户名,密码,onConnect -- 为连接方法
------------------
------------------
涉及使用的方法
------------------
3,function onConnect(status){
connection.addHandler(onMessage,null,'message',null,null,null);
//设置监听,待接收到消息,进行获取。
connection.send($pres().tree());
}
---------
4,function onMessage(msg){
var to = msg.getAttribute('to');
var from = msg.getAttribute('from');
var type = msg.getAttribute('type');
var elems = msg.getElementsByTagName('body');
if(type=="chat"&& elems.length>0){
var body=elems[0];
var text1 = Strophe.getText(body);
//获得其他人发过来的消息
}
}
----------------------
5,发送消息
if (tFlag == true) {
//消息配置
var reply = $msg({to: 'admin@localhost/Spark 2.7.0', from: connection.jid, type: 'chat'})
.cnode(Strophe.xmlElement('body',null,$('#textmsg').get(0).value));
connection.send(reply.tree()); //发送消息
//log(connection.jid + '>>>>>>>>>>>: ' + $('#textmsg').get(0).value);
}
-----------------------
6,断开连接
connection.disconnect();
-----------------------
打印的log日志显示
function log(msg)
{
$('#log').append('<div></div>').append(document.createTextNode(msg));
}
-----------------------
总的来说,主要是注意连接的用户名,一般
用户名+@localhost/cm等等形式的后缀 ,判断从哪个系统登陆的服务器,
如果仅仅使用用户名登陆,出现匿名的登陆结果。
同时要注意 登陆的人数情况。
利用spark进行登陆验证,
输入用户名,密码
服务器 IP即可
openfire+strophe的更多相关文章
- Openfire Strophe IE跨域问题
Openfire和Strophejs网站 域名不同如何进行通信,这个问题总算解决,下面是解决步骤. 解决方案一: Chrome浏览器默认支持跨域访问 IE浏览器需要做配置:点击IE浏览器的的“工具-& ...
- Openfire Strophe开发中文乱码问题
网站上有很多Openfire Web方案,之前想用Smack 但是jar包支持客户端版本的,还有JDK版本问题 一直没调试成功 估计成功的方法只能拜读源码进行修改了. SparkWeb 官网代码很 ...
- Strophe.js连接XMPP服务器Openfire、Tigase实现Web私聊、群聊(MUC)
XMPP(Extensible Messaging and Presence Protocol)是一种网络即时通讯协议,它基于XML,具有很强的扩展性,被广泛使用在即时通讯软件.网络游戏聊天.Web聊 ...
- strophe与openfire模拟的XMPP简单hello程序
/* * 参考<XMPP高级编程+使用JavaScript和jQuery>第三章例子. * 我修改了作者的XMPP服务器到本地的openfire.JavaScript跨域请求,使用Ngin ...
- strophe.js 插件 XMPP openfire
参考资料:http://strophe.im/strophejs/ https://github.com/strophe/strophejs-plugins http://amazeui.org/ 最 ...
- 打开即时通讯服务器openfire的大门
1.什么是即时通讯 你现在最常用的软件是什么,如果我没有猜错,应该是QQ和微信,是的,他们就是即时通讯软件. 一个可以让你无时无刻,只要有网络就能够沟通的工具,就是即时通讯工具.那么本教程,我们主要以 ...
- Openfire配置过程,以及与php交互注意事项。
Ben Werdmuller 是一位 Web 策划师和开发人员,他专注于开放源码平台.他是开源社交网络框架 Elgg 的共同创始人和技术带头人.Ben 的博客 http://benwerd.com/. ...
- XMPP即时通讯协议使用(七)——利用Strophe实现WebIM及strophe.plugins插件使用
Strophe简介与Openfire配置 Strophe.js是为XMPP写的一个js类库.因为http协议本身不能实现持久连接,所以strophe利用BOSH模拟实现持久连接. 官方文档: http ...
- 在Openfire上弄一个简单的推送系统
推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...
随机推荐
- 微信支付之JSAPI开发第一篇-基本概念
申请权限 具体步骤就不说了,进入微信支付商户平台进行申请认证,认证成功后在微信公众号后台会有个微信支付的菜单按钮,点击后会有如下的信息 配置 在进行微信支付开发之前,必须进行一些必要的配置,如果这些配 ...
- This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms while caching 问题及解决
一.背景 情节1:做别的测试安装下载了软件,妈蛋结果下了百度各种捆绑软件,之后一一卸载,清洁. 情节2:做完上述动作重启电脑后,有线连接连不上,尴尬,然后下载驱动,升级之后ok了. 二.问 ...
- node代码片段
/** * Created by Administrator on 2016/8/22 0022. * chat */ var net=require('net'); var chatServer=n ...
- C#实现控制Windows系统关机、重启和注销的方法:
shutdown命令的参数: shutdown.exe -s:关机shutdown.exe -r:关机并重启shutdown.exe -l:注销当前用户 shutdown.exe -s -t 时间:设 ...
- python3.5------day4--function
函数 函数的作用: 1.减少重复代码 2.扩展性强 3.使程序变的可维护 函数的定义: def test(): print("I'm yao") #def 是固定的,test为函数 ...
- Python全栈开发day7
一.Python生成器/迭代器 1 2 3 4 5 6 7 8 9 10 11 12 #!/bin/env python # -*- coding:utf-8 -*- def shaw(n): ...
- WAP端 穿透问题和解决方法
1. 穿透问题可这么理解, 共有2种问题: 问题1: 有A 和 B 两个弹层,B 弹层盖在A 弹层上面,B 弹层绑定 touchend 事件,当用户点击B 的时候 B隐藏,由于touchend 事件触 ...
- SQL Lazy Spool Eager Spool
https://www.simple-talk.com/sql/learn-sql-server/showplan-operator-of-the-week-lazy-spool/ The Lazy ...
- c#winform窗体嵌入
最近开发项目,错误的理解了需求,自己做了个窗体的嵌套,虽然是错误的理解了,但是功能还是实现了,做下标记,需要时可以拿来看看. 新建两个窗体Form1和Form2,现在需要将Form2显示到Form1里 ...
- CSharper 学Quick-Cocos2d-X (一) 开发环境的搭建
前言 本来想写CSharper 学Cocos2dx系列的.但是最近在了解许多跨平台游戏开发框架后 最终决定使用Quick-cocos2d-x+lua进行第一个游戏项目的开发.经过一天多的折腾 终于 ...