Size: a a a

Node.js — русскоговорящее сообщество

2020 April 06

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
ему просто приходят сообщения
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Комнаты - понятие для сервера, это множество клиентов.
Нужно, чтобы сразу отправлять сообщение множеству клиентов.

Но клиент - просто получает все отправленные ему сообщения
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
если мы говорим про socket.io
источник

VS

Vlad Salabun in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
Комнаты - понятие для сервера, это множество клиентов.
Нужно, чтобы сразу отправлять сообщение множеству клиентов.

Но клиент - просто получает все отправленные ему сообщения
А как клиенту объяснить что сообщение нужно читать в комнате? (вот скриншот с пингами)
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Vlad Salabun
А как клиенту объяснить что сообщение нужно читать в комнате? (вот скриншот с пингами)
1. Клиент всегда получает все его сообщения.
Ему не надо ничего объяснять.
Ему пришло сообщение - он получил.
Комнаты тут не при чем. (опять же, если мы про socket.io, потому что код ты показываешь на socket.io).

2. На этом скрине нет соединений, это консоль.
Смотри вкладку network
источник

VS

Vlad Salabun in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
1. Клиент всегда получает все его сообщения.
Ему не надо ничего объяснять.
Ему пришло сообщение - он получил.
Комнаты тут не при чем. (опять же, если мы про socket.io, потому что код ты показываешь на socket.io).

2. На этом скрине нет соединений, это консоль.
Смотри вкладку network
Да, использую  socket.io, вот скриншот нетворк. Тут видно что идет обмен с сервером, но сообщений нету, что нужно узнать еще чтобы прочитать их?
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Vlad Salabun
Да, использую  socket.io, вот скриншот нетворк. Тут видно что идет обмен с сервером, но сообщений нету, что нужно узнать еще чтобы прочитать их?
Пришло - это оранжевая стрелка вниз.

Зелёное - это отправления.
Никаких сообщений клиент не получал...
источник

VS

Vlad Salabun in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
Пришло - это оранжевая стрелка вниз.

Зелёное - это отправления.
Никаких сообщений клиент не получал...
Есть какие-то идеи что можно предпринять?
Вот у меня 2 аккаунта. Я отправляю одним сообщения, вторым смотрю. В приложении на андроиде на ангуляре сообщения приходят, в БД сообщения сохраняются.
А в вебе тишина. Может нужна еще какая-то дополнительная команда для socket.io?
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Vlad Salabun
Есть какие-то идеи что можно предпринять?
Вот у меня 2 аккаунта. Я отправляю одним сообщения, вторым смотрю. В приложении на андроиде на ангуляре сообщения приходят, в БД сообщения сохраняются.
А в вебе тишина. Может нужна еще какая-то дополнительная команда для socket.io?
Ещё раз, у тебя на клиент сообщения вообще не приходят.
Ты на клиенте этого никак не исправишь.
Смотри на сервер. Сервер сообщения этому клиенту не отправляет.

Либо ты ни туда подключаешься.
Либо ты не авторизовался, или ещё что-нибудь в БЛ.
Либо сервер просто не отправляет сообщение этому клиенту (он не добавлен в комнату, или добавлен не туда, или ещё что)
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Vlad Salabun
Есть какие-то идеи что можно предпринять?
Вот у меня 2 аккаунта. Я отправляю одним сообщения, вторым смотрю. В приложении на андроиде на ангуляре сообщения приходят, в БД сообщения сохраняются.
А в вебе тишина. Может нужна еще какая-то дополнительная команда для socket.io?
Дебаж сервер, проверяй, что сервер видит этого клиента, что он добавляет его в комнату, что сообщение отправляется
источник

VS

Vlad Salabun in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
Дебаж сервер, проверяй, что сервер видит этого клиента, что он добавляет его в комнату, что сообщение отправляется
Я сейчас посмотрел логи сервера.
Когда подключаюсь с телефона, он пишет так:
Channel: laravel_database_channel_79
Event: App\Events\EventMessage
[11:20:00 AM] - hTdil9uES8WGRUJgAAGS joined channel: laravel_database_channel_79

А когда с веба - ничего не пишет. Видимо я таки не подключился, но почему тогда в нетворке идет соединение, если не нужно сообщать про комнату? и почему на ангуляре сообщают?
источник

SZ

Saken Zhalgas in Node.js — русскоговорящее сообщество
источник

SZ

Saken Zhalgas in Node.js — русскоговорящее сообщество
Добрый день! Не могу разобраться с ошибкой ReferenceError: register is not defined. Код:
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Saken Zhalgas
Добрый день! Не могу разобраться с ошибкой ReferenceError: register is not defined. Код:
index.html и register.html - это строки, их надо писать в кавычках.

У тебя получается, что ты обращаешься к переменной register и свойству html
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Vlad Salabun
Я сейчас посмотрел логи сервера.
Когда подключаюсь с телефона, он пишет так:
Channel: laravel_database_channel_79
Event: App\Events\EventMessage
[11:20:00 AM] - hTdil9uES8WGRUJgAAGS joined channel: laravel_database_channel_79

А когда с веба - ничего не пишет. Видимо я таки не подключился, но почему тогда в нетворке идет соединение, если не нужно сообщать про комнату? и почему на ангуляре сообщают?
Возможно,  потому, что тебе надо не socket.io, а библиотеку именно для Laravel Echo, если ты работаешь через него. Это вопрос к Laravel, см. их доку
источник

SZ

Saken Zhalgas in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
index.html и register.html - это строки, их надо писать в кавычках.

У тебя получается, что ты обращаешься к переменной register и свойству html
Новая ошибка, он ищет register.html в папке views. Хотя я установил express.static("public")
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Saken Zhalgas
Новая ошибка, он ищет register.html в папке views. Хотя я установил express.static("public")
static - это для статики (файлов, загружаемых по http, например, картинки или css файлы).
Шаблоны - не статика, они не загружаются по http, их жрёт экспресс и выплёвывает ответы.
источник

SZ

Saken Zhalgas in Node.js — русскоговорящее сообщество
а как мне теперь вывести register? Ввести путь к нему с помощью fs?
источник

CM

Chingiz Mamiyev in Node.js — русскоговорящее сообщество
Saken Zhalgas
а как мне теперь вывести register? Ввести путь к нему с помощью fs?
res.sendFile("path")
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Saken Zhalgas
а как мне теперь вывести register? Ввести путь к нему с помощью fs?
с путями через path работают
источник