Мне любопытно узнать о веб-сокетах и о том, как различать отправляемые ими разные данные.Я действительно не могу найти ничего ясного в Интернете, если не пропущу что-то, что смотрит мне в лицо.
У меня есть веб-розетка, и рукопожатие устанавливает соединение.Цель ws - предоставить результаты футбольных матчей в реальном времени и таблицы в реальном времени.
Так что, если бы это был API отдыха, у меня, вероятно, было бы 2 конечных точки, /live-scores
и /table
.Мои компоненты реагирования интересуются различными данными, поэтому мне интересно, есть ли в веб-сокетах эквивалент конечных точек?Или как вы различаете разные данные?Должен ли быть отдельный веб-сокет для каждого элемента данных?
Кроме того, имейте в виду, что помимо живых результатов и таблицы будет намного больше двух данных, поэтому я думаю, что разные ws для каждого будут излишними.
Может кто-нибудь указать мне правильное направление или дать ответ здесь?
TLDR Вы создаете веб-сокет для каждой отдельной группы данных (из-за отсутствия лучшего способа описания этого) или существует только один веб-сокет и, если да, то какой способ лучше всего подходит дляклиент, чтобы определить, какие данные он получает?
Если вопрос не имеет смысла, дайте мне знать, и я постараюсь прояснить ситуацию.
Мой стартовый код здесь:
import sockjs from 'sockjs';
const ws = sockjs.createServer({
sockjs_url: 'http://cdn.jsdelivr.net/sockjs/1.0.1/sockjs.min.js',
});
ws.on('connection', connection => {
connection.on('data', m => {
const message = m ? JSON.parse(m) : {};
if (message.type === 'register') {
connection.write(
JSON.stringify({
address: message.address,
body: {
message: 'Hello World!',
},
})
);
}
});
});
export default ws;