@ch-aqwer

WebSocket для react/redux приложения?

Добрый день! Скажите пожалуйста как правильно создать вебсокет соединения, чтобы данные непрерывного приходили с другого ресурса?
Сам проект на react/redux.

В моем понимании сейчас надо писать сокет сервер на node+express, например.
Далее уже этот сервер должен принимать данные и отдавать мне на клиент.
И вот скажите:
1. Правильно ли я это понимаю, есть ли лучшие варианты?
2. Будет ли все нормально работать если данных будет много (~100 тыс объектов)?
3. Как грузить и обрабатывать такие объемы данных?

 Буду благодарен за какой-то простой пример.
 С node никогда не работал...
  • Вопрос задан
  • 2131 просмотр
Решения вопроса 1
@Abcdefgk
Хотя, конечно, ставить setInterval вообще в зависимость от коннектов - это ерунда.
Вот так более лучше.
var WebSocketServer = new require('ws');
var EventEmitter = require('events');
function MyEmitter() {}
MyEmitter.prototype = Object.create(EventEmitter.prototype);

var clients = {};

var webSocketServer = new WebSocketServer.Server({
  port: 3001
}, function() {console.log('WebSocketServer-PORT: 3001')});

webSocketServer.on('connection', function(ws) {
  var id = Math.random();
  clients[id] = ws;
  console.log("connect " + id);

  ws.on('close', function() {
    console.log('disconnect ' + id);
    delete clients[id];
    console.log(Object.keys(clients));
  });
}); 

var myEmitter = new MyEmitter();
myEmitter.on('start', () => {
	setInterval(function() {
		for (var key in clients) {
			clients[key].send('Hello, World!!!');
		}
	}, 3000);
});
myEmitter.emit('start');
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
2. Будет ли все нормально работать если данных будет много (~100 тыс объектов)?
3. Как грузить и обрабатывать такие объемы данных?

Нет.
Не надо так делать.

Может быть у вас рама резиновая, а у людей нет.
Да и процессор тоже не в восторге будет от такого количества инфы.

Вебсокет здесь вообще причём? Реалтайм и 100тыщ объектов как-то так себе идея.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект