我正在为我的客户端设置一个具有聊天支持的Extjs 4.2的MVC应用程序。为此,我使用ExtJS Websocket,我遵循这个https://market.sencha.com/extensions/ext-ux-websocket教程,但我似乎可以工作广播消息到所有连接的客户端在不同的浏览器。以下是我的代码:
this.ws = Ext.create('Ext.ux.WebSocket', {
url : 'ws://localhost:6966',
autoReconnect : true,
autoReconnectInterval : 1000,
keepUnsentMessages : true,
listeners : {
open : function(ws) {
ws.send('notify', {
'message' : 'Connected to server!',
'id' : '123456'
});
},
message : function(ws, data) {
var data = Ext.decode(data);
console.log(data)
},
close : function(ws) {
var panel = Ext.getCmp('panel' + ws.url);
if ((panel != null) || (panel != undefined)) {
panel.destroy();
}
}
}
});
this.ws.on('notify', function(data) {
Ext.get('chat-history').dom.innerHTML += '> ' + data.msg + '<br/>';
});
Ext.ux.WebSocketManager.register(this.ws);
我用这个来发送/广播消息:
var data = {
id : '123456',
msg : 'sample message'
};
Ext.ux.WebSocketManager.broadcast('notify', data);
你可以试试这个链接。
你需要NodeJS和NPM。
然后,安装所有依赖项:
$ npm install
为每个端口打开websocket:
$ node demo/server.js 9001 9002 9003
然后使用您发布的代码连接您的客户端。