#extjs #websocket #extjs4 #chat
#extjs #websocket #extjs4 #Чат
Вопрос:
Я устанавливаю приложение MVC с Extjs 4.2, в котором есть поддержка чата для моего клиента. Для этого я использую 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);
Ответ №1:
Вы можете попробовать это по этой ссылке.
Вам нужны NodeJS и NPM.
Затем установите все зависимости:
$ npm install
Откройте websocket для каждого нужного порта:
$ node demo/server.js 9001 9002 9003
Затем подключите свой клиент, используя опубликованный вами код.
Комментарии:
1. Проголосовал против, поскольку предлагаемое решение требует установки совершенно другой технологии. Очень вероятно, что есть решение в чистом ExtJS (хотя у меня пока нет этого решения …).