现在,我必须在我的Web应用程序中添加一个实时聊天服务(Angularjs + Spring REST + mybatic)。 我想知道哪种方式对我们的发展更有利。
1. angularjs + Websocket + Openfire
2. angularjs + node.js
是否有另一种方式来开发实时聊天。
答案 0 :(得分:1)
您可以使用Strophe JavaScript Library来实施实时聊天。 该库有两个连接选项 1)Web-socket和 2)波什
Web插槽连接通常仅由少数浏览器(如Google Chrome)支持,但不受Mozilla Firefox支持。所以最好的方法是与BOSH联系。
这个库也有很棒的文档。
所以它变成了
AngularJs(用于设计视图)
+
Strophe(中间件连接服务器)
+
Openfire(XMPP服务器)
答案 1 :(得分:1)
您可以使用 Openfire服务器(XMPP服务器) + JSXC作为网络客户端应用。
从https://www.igniterealtime.org/projects/openfire/
下载并安装openfire服务器JSXC使用Strophe JavaScript Library,因此通过open fire管理面板在openfire服务器中启用BOSH。 通常它位于端口9090上,因此您的管理面板将在localhost:9090
打开JSXC Web客户端具有内置的所有基本功能,如名册,聊天窗口,消息传递,文件传输,视频呼叫,在线状态,设置,OTR加密等等。见下图:
将这些文件包含在您的网络应用主页/布局页面中:
" /jsxc/example/css/example.css"
" /jsxc/build/lib/jquery.colorbox-min.js"
将JSXC库添加到Web应用程序后,它将如下所示。
您需要配置的文件是" jsxc \ example \ js \ main.js"
下面我分享了我在网络项目中完成的配置:
$(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;
}