zoukankan      html  css  js  c++  java
  • 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即可

  • 相关阅读:
    今天上传公司服务器出现的.net framework版本错误问题
    浮动后父容器高度自适应
    asp net 编程问题 实现下一篇 和上一篇效果
    注意:"AspNetPager”的控件“AspNetPager1”必须放在具有 runat=server 的窗体标记内
    SqlDbHelper备份,做项目时方便应用(目前不太全,把自己项目中的逐渐转移过来)
    域名状态,域名查询看是否被注册
    关于403 由于扩展配置问题而无法提供您请求的页面的问题
    让qq图标在自己的网站上显示方法
    Tomcat基于虚拟路径的发布和web.xml配置
    Tomcat虚拟目录配置方法及原理
  • 原文地址:https://www.cnblogs.com/FakerWang/p/nwang.html
Copyright © 2011-2022 走看看