Отправка данных на разные конечные точки websocket за одно соединение

У меня есть вопрос о веб-сокетах и ​​отправке данных на разные конечные точки в Javascript.

Так можно ли отправлять данные на разные серверные конечные точки в одном соединении с веб-сокетом или мне нужно устанавливать новое соединение для каждой конечной точки?

Допустим:

var ws = new Websocket('ws://localhost:8080');

// send data to /login
ws.send('/login', {logindata...});

// send data to /messages
ws.send('/messages', {data...});
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
539
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я думаю, что вы должны определить протокол сообщений, чтобы сервер выполнял правильную конечную точку для каждого типа сообщения.

Например:

{
   "msgType": "login",
   "msgData": {logindata...}
}

а также

{
   "msgType": "messages",
   "msgData": {data...}
}

Это могут быть два типа сообщений, которые вы отправляете на сервер. А в бэкэнде есть контроллер для выполнения конечной точки «логин /» или конечной точки «сообщений /».

Не знаю, помогает ли это ... Я так и делаю.

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

Der_D 12.09.2018 10:31

Я не могу сказать наверняка ... но по моему опыту, для того, как работает сервер websocket (по крайней мере, тот, который я реализовал на Python) ... Я так не думаю. Каждое сообщение прибывает в один и тот же метод на сервере, тот, который реализует событие «onMessage» ... Может быть, есть какой-то сервер веб-сокетов, который позволяет вам определять разные «конечные точки», как это делает веб-сервер. Я предполагаю, что веб-сервер получает все сообщения через один и тот же вход, но реализует собственный контроллер, дающий разработчику возможность определять разные «маршруты» или «конечные точки» ...

Ion Gorostizu 12.09.2018 11:02

Ok. Спасибо за ваш комментарий. Ваше решение хорошее, и я буду им пользоваться. Я не могу проголосовать за ваш ответ, но вы получите зеленый крючок :)

Der_D 12.09.2018 11:41

Другие вопросы по теме