【问题标题】:Web Chatting, angularjs + Websocket + Openfire Vs angularjs + node.js网络聊天,angularjs + Websocket + Openfire 与 angularjs + node.js
【发布时间】:2015-03-03 03:57:13
【问题描述】:

现在,我必须在我的 Web 应用程序(Angularjs + Spring REST + mybatic)中添加一个实时聊天服务。 我想知道哪种方式更适合我们的发展。

1. angularjs + Websocket + Openfire
2. angularjs + node.js

还有没有其他方式来开发实时聊天。

【问题讨论】:

    标签: angularjs node.js websocket openfire livechat


    【解决方案1】:

    您可以使用Strophe JavaScript Library 实现实时聊天。 这个库有两个连接选项 1)网络套接字和 2) 波什

    Web-socket 连接一般只有少数浏览器支持,例如 Google Chrome,但不支持 Mozilla Firefox。所以最好的方法是连接BOSH。

    这个库也有很好的文档。 所以它变成了
    AngularJs(用于设计视图)
    +
    Strophe(连接服务器的中间件)
    +
    Openfire(XMPP 服务器)

    【讨论】:

      【解决方案2】:

      您可以使用 Openfire 服务器(XMPP 服务器) + JSXC 作为 Web 客户端应用程序

      https://www.igniterealtime.org/projects/openfire/下载并安装openfire服务器

      JSXC 使用 Strophe JavaScript 库,因此可以通过 open fire 管理面板在您的 openfire 服务器中启用 BOSH。 通常它在端口 9090 上,因此您的管理面板将在 localhost:9090 上打开

      JSXC Web 客户端具有内置的所有基本功能,例如名册、聊天窗口、消息传递、文件传输、视频通话、在线状态、设置、OTR 加密等等。见下图:

      将这些文件包含到您的网络应用母版页/布局页中:

      1. "/jsxc/build/css/jsxc.css"
      2. "/jsxc/build/css/jsxc.webrtc.css"
      3. “/jsxc/example/css/example.css”

      4. "/jsxc/build/lib/jquery.colorbox-min.js"

      5. "/jsxc/build/lib/jquery.slimscroll.js"
      6. "/jsxc/build/lib/jquery.fullscreen.js"
      7. "/jsxc/build/lib/jsxc.dep.js"
      8. "/jsxc/build/jsxc.js"
      9. "/jsxc/example/js/main.js"

      将 JSXC 库包含到 Web 应用程序中后,它将如下所示。

      你需要配置的文件是“jsxc\example\js\main.js”

      下面我分享了我在web项目中所做的配置:

      $(function() {
         var settings = {
            xmpp: {
               url: 'http://'+OPENFIRE_DOMAIN+':7070/http-bind/',
               domain: OPENFIRE_DOMAIN,
               resource: 'example',
               overwrite: true,
               onlogin: true
            }
         };
      
         jsxc.init({
            logoutElement: $('#logout'),
            numberOfMsg:1000,
            onlineHelp: 'mailto:support@ilook.com',
            timeout:3000,
            busytimeout: 15000,
            notification: true,
            defaultLang: 'en',
            checkFlash: false,
            rosterAppend: 'body',
            root: '/' + PROJECT_NAME + 'jsxc/build/',
            displayRosterMinimized: function() {
               return false;
            },
            // otr: {
            //    debug: false,
            //    SEND_WHITESPACE_TAG: true,
            //    WHITESPACE_START_AKE: true
            // },
            loadSettings: function(username, password, cb) {
               cb(settings);
            },
            xmpp: {
               url: settings.xmpp.url
      
            }
         });
      
      function jsxcLogout()
      {
         jsxc.xmpp.logout;
      }
      

      【讨论】:

        猜你喜欢
        • 2011-06-02
        • 1970-01-01
        • 2013-10-31
        • 2014-08-18
        • 1970-01-01
        • 2015-06-17
        • 1970-01-01
        • 2021-08-09
        • 2023-04-04
        相关资源
        最近更新 更多