其实是关于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的更多相关文章

  1. Openfire Strophe IE跨域问题

    Openfire和Strophejs网站 域名不同如何进行通信,这个问题总算解决,下面是解决步骤. 解决方案一: Chrome浏览器默认支持跨域访问 IE浏览器需要做配置:点击IE浏览器的的“工具-& ...

  2. Openfire Strophe开发中文乱码问题

    网站上有很多Openfire Web方案,之前想用Smack 但是jar包支持客户端版本的,还有JDK版本问题  一直没调试成功  估计成功的方法只能拜读源码进行修改了. SparkWeb 官网代码很 ...

  3. Strophe.js连接XMPP服务器Openfire、Tigase实现Web私聊、群聊(MUC)

    XMPP(Extensible Messaging and Presence Protocol)是一种网络即时通讯协议,它基于XML,具有很强的扩展性,被广泛使用在即时通讯软件.网络游戏聊天.Web聊 ...

  4. strophe与openfire模拟的XMPP简单hello程序

    /* * 参考<XMPP高级编程+使用JavaScript和jQuery>第三章例子. * 我修改了作者的XMPP服务器到本地的openfire.JavaScript跨域请求,使用Ngin ...

  5. strophe.js 插件 XMPP openfire

    参考资料:http://strophe.im/strophejs/ https://github.com/strophe/strophejs-plugins http://amazeui.org/ 最 ...

  6. 打开即时通讯服务器openfire的大门

    1.什么是即时通讯 你现在最常用的软件是什么,如果我没有猜错,应该是QQ和微信,是的,他们就是即时通讯软件. 一个可以让你无时无刻,只要有网络就能够沟通的工具,就是即时通讯工具.那么本教程,我们主要以 ...

  7. Openfire配置过程,以及与php交互注意事项。

    Ben Werdmuller 是一位 Web 策划师和开发人员,他专注于开放源码平台.他是开源社交网络框架 Elgg 的共同创始人和技术带头人.Ben 的博客 http://benwerd.com/. ...

  8. XMPP即时通讯协议使用(七)——利用Strophe实现WebIM及strophe.plugins插件使用

    Strophe简介与Openfire配置 Strophe.js是为XMPP写的一个js类库.因为http协议本身不能实现持久连接,所以strophe利用BOSH模拟实现持久连接. 官方文档: http ...

  9. 在Openfire上弄一个简单的推送系统

    推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...

随机推荐

  1. windows下的php rabbit mq安装、配置

    http://www.cnblogs.com/shanyou/p/4067250.html 这篇博文写的rabbit mq和erlang的安装以及rabbitmq可视化插件的一些操作 接下去开始安装P ...

  2. JavaScript校验图片格式及大小

    <!DOCTYPE html> <html> <head> <title>JavaScript校验图片格式及大小</title> <s ...

  3. HTTP权威协议笔记-5.Web服务器

    5.1 Web服务器工作内容 建立连接--接受一个客户端的连接,或者将其拒绝 接受请求--从网络中读取一条HTTP报文 处理请求--对请求报文进行解释,并采取行动 访问资源--访问报文中指定的资源 构 ...

  4. php编码规范

    PHP 文件格式 1.对于只包含有 PHP 代码的文件,结束标志("?>")是不允许存在的,PHP自身不需要("?>"), 这样做, 可以防止它的末 ...

  5. highCharts的多图导出

    已实现HighChart的多图导出,不能上传文件,所以需要call我735734485.

  6. Spark+Hadoop问题小结

    1.spark执行./start-all.sh报"WARN Utils: Service 'sparkWorker' could not bind on port 0. Attempting ...

  7. mobx源码解读1

    mobx是redux的代替品,其本身就是一个很好的MVVM框架.因此花点力气研究一下它. 网上下最新的2.75 function Todo() { this.id = Math.random() mo ...

  8. JavaScript 正则表达式的应用实例

    都是自己实例记录,不断更新中.... 1.字符串找出所有匹配的邮箱并替换 <html> <body> <script type="text/javascript ...

  9. 如何在Flex标签中写事件函数

    在事件变量值中直接写函数语句,如果是多条语句,则用";"号隔开. 示例如下: <mx:Box id="label" backgroundColor=&qu ...

  10. centos rar安装

    wget http://www.rarsoft.com/rar/rarlinux-x64-5.1.1.tar.gz tar -zxvf rarlinux-x64-5.1.1.tar.gz # cd r ...