Это очень специфическое решение, я его не советую, но я видел его вживую. Один умелец запускал какой-то из хедлесов (кажется, playwright), делал что ему нужно в канвасе и экспортировал
UPD вообще нашел, что есть библиотека для ноды canvas
Уровень мидла и предполагает знание технологии не на уровне "знаю, что это работает" а "знаю, как это работает".
Документацию стоит прочитать хотя бы по диагонали, чтобы чисто ассоциативно вспоминать во время решения задач какие-то тонкости и рекомендации, и, понимая, как оно работает под капотом, знать что гуглить в спорных моментах
Вопрос #1. Второй вариант решения подходит и является универсальным. Так как, например, открывая страницу вконтакте и обнаруживая там непрочитанные сообщения, мы же не слышим звуки уведомлений по каждому из них?)
Вопрос #2. Зачем притягивать ajax, если планируется все равно использовать сокеты? Список чатов можно отдавать по событию onconnect.
В чем проблема использовать JSON.stringify?
В теле пакета, в любом случае, хранятся строки. Поэтому на сервере используйте JSON.parse() от полученной строки.
Сейчас тоже приходит строка, это видно по тому, как шаблонизатор превращает вложенную структуру в [object Object]
В объекте сокета подключенного пользователя можно хранить массив объектов {roomid, talkwith}.
roomid хранит идентификатор комнаты в бд, talkwith - ссылку на объект сокета-собеседника.
При создании комнаты или отправке сообщения в конкретный чат, сокету-собеседнику в массив прослшушиваемых чатов так же надо прописать пару {roomid, talkwith}, где в качестве talkwith будет ссылка на сокет-инициатор диалога
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.