Начал разбираться в вебсокетами, и пробую написать небольшой чат Ноду особо не знаю, для работы с базой на бекенде php-фреймворк, все запросы ajax в его контроллеры.
На клиентской части инициализирую подключение:
this.webSocket = new WebSocket('ws://localhost:8084');
Соответственно вешаю обработчик:
this.webSocket.send(message);
За серверную часть ответственна нода(отдельный скрипт файл):
var WSServer = new WS.Server({port: 8084});
WSServer.on('connection', function (ws) {
//Подписываемся на событие - получение сообщения
ws.on('message', function (text) {
console.log('Сообщение получено. Текст: ' + text);
На этом этапе все понятно. Подключаются пользователей в браузере, даже переписку ведут.
Но как в серверном файле идентифицировать подключенного пользователя? Сейчас получается что все они пишут в один канал и их сообщения никак логически не разделяются.
Скажем если id группы пользователя который подключился в браузере 123 то и все сообщения сохранять в группу с 123. Это именно так я себе представляю механизм, если принцип другой подскажите как правильно?
Для посылки данных используется метод socket.send(data). Пересылать можно любые данные.
Это прописано в руководстве https://learn.javascript.ru/websockets#primer-brauzernogo-koda
При попытке передать в
websocket.send({
userid : 1,
group : 2,
message: 3,
})
в логе на сервере я получаю Сообщение получено. Текст: [object Object]
Обратиться по своим ключам тоже не могу.
Как правильно делать и чего я не усвоил в этом вопросе?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Я посмотрел не мало примеров как люди используют react js с node express, все сводятся к тому что мне нужно запускать сервер обработчик запросов на одном...
Пытаюсь реализовать метод POST, который будет отправлять данные на серверДанные, в свою очередь, вводятся в поля формы