用openfire+strophe搭建WEB IM平台

  • 准备
  1. openfire服务器(http://www.igniterealtime.org)——IM Server
  2. ngnix服务器(http://nginx.org)——代理和HTTP Server
  3. strophe库(http://strophe.im/)——JS客户端
  • 安装和配置openfire

openfire的安装见本人博客,安装时配置domain为172.17.125.161(注意除非PC配置了域名,不然最好domain配置为IP,方便客户端访问),后登录管理控制台,服务器》服务器设置》HTTP绑定,默认启用7070端口作为HTTP绑定端口。

  • 安装和配置nginx

我安装的是windows版,直接解压到本地目录,打开conf目录下nginx.conf,修改server节点为如下:

server {
        listen       80;
        server_name  172.17.125.161;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

	location /http-bind {
            proxy_pass http://172.17.125.161:7070/http-bind/;
            proxy_redirect off;
            proxy_read_timeout 120;
            proxy_connect_timeout 120;
 
       }


        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
然后双击nginx.exe,在任务管理器下看到两个nginx.exe进程说明启动成功。
  • 安装strophe

下载strophejs-1.0.2.zip包,直接解压至nginx目录下的html文件夹内。

  • 测试连接

进入strophejs-1.0.2解压目录,打开examples/basic.js,修改

var BOSH_SERVICE = 'http://im/http-bind/'
为:

var BOSH_SERVICE = 'http://172.17.125.161/http-bind/'

打开浏览器,访问 http://172.17.125.161/strophejs-1.0.2/examples/basic.html,输入完整的JID(例如:nomouse@172.17.125.161)和密码,点击connect,出现下列输入说明登录成功:
SENT: <body rid='4218693533' xmlns='http://jabber.org/protocol/httpbind' to='172.17.125.161' xml:lang='en' wait='10' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/>
RECV: <body xmlns='http://jabber.org/protocol/httpbind' xmlns:stream='http://etherx.jabber.org/streams' authid='74ec6e82' sid='74ec6e82' secure='true' requests='2' inactivity='30' polling='0' wait='10' hold='1' ack='4218693533' maxpause='300' ver='1.6'><stream:features><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression xmlns='http://jabber.org/features/compress'><method>zlib</method></compression><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/><session xmlns='urn:ietf:params:xml:ns:xmpp-session'/></stream:features></body>
SENT: <body rid='4218693534' xmlns='http://jabber.org/protocol/httpbind' sid='74ec6e82'><auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/></body>
SENT: <body rid='4218693534' xmlns='http://jabber.org/protocol/httpbind' sid='74ec6e82'><auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/></body>
SENT: <body rid='4218693534' xmlns='http://jabber.org/protocol/httpbind' sid='74ec6e82'><auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/></body>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值