Хобрук: Ваш путь к мастерству в программировании

Какая-то программа тайм-аута с чатом node.js/socket.io

Мы создали простой чат node.js socket.io из примера документа чата. Вот наша проблема, с которой мы застряли;

  • Когда человек нажимает на человека B для чата, он говорит: «Все готово, чтобы начать разговор».
  • Когда они отправляют сообщение, ничего не происходит, нажатие ввода только очищает сообщение, которое ни А, ни Б не видят.
  • Но если они нажмут f5 на обоих, он снова скажет «он готов начать разговор», и теперь они могут без проблем общаться в чате.
  • С этим первым триггером любой чат можно сделать без F5. Например, через 1-5 часов, если человек C нажмет на человека D, он сможет без проблем начать разговор.
  • Но если день прошел без разговоров, люди, которые начинают первый разговор в этот день, должны нажать f5, чтобы сработал какой-то триггер. Тогда любой после них запускается без проблем.

Сервер уходит в какой-то режим тайм-аута или скринсейвера..! Люди при первом разговоре всегда должны делать f5. Затем он работает в течение дня. Я не отправляю код или что-то еще, нам нужно руководство, что искать. Node.js? сокет.ио? Что может вызвать эту глупую проблему? Спасибо

25.02.2013

Ответы:


1

Но если день прошел без разговоров, люди, которые начинают первый разговор в этот день, должны нажать f5, чтобы сработал какой-то триггер. Тогда любой после них запускается без проблем.

Похоже, вы пытаетесь поддерживать подключение к веб-сокету в течение нескольких дней, и ни один клиент не выполняет повторное подключение?

Если это так, то, возможно, это проблема на стороне клиента. Возможно, браузер закрывает веб-сокет-соединение через долгое время. Ваше веб-приложение не распознает отсутствие соединения и по-прежнему показывает «готово к началу разговора». Но браузер больше не отправляет никаких сообщений на сервер. Проверьте эту тему: как восстановить подключение

Было бы очень полезно, если бы вы показали нам код.

С наилучшими пожеланиями

25.02.2013
  • JanUlrich Думаю, я не мог этого объяснить. Считай, что мы с тобой начинаем чат 25.02.2013 - 29.11, если мы будем первыми, кто разговаривает в этот день, мы должны нажать f5 для первого соединения. Думаю, что мы прекращаем общение и закрываем окна чата 25.02.2013 - 12.00. После первого соединения через f5 все могут некоторое время общаться без f5 (1 день 12 часов 15 часов я не знаю) f5 снова, чтобы что-то спровоцировать. 25.02.2013
  • Вы уже пытались проверить соединение на стороне клиента через: [ socket.on('connect_failed', function () { /* Вставьте код для восстановления соединения. */ }); ] вы можете сделать эквивалент f5 через javascript на стороне клиента: window.location.href = unescape(window.location.pathname); 25.02.2013
  • Новые материалы

    Dall-E 2: недавние исследования показывают недостатки в искусстве, созданном искусственным интеллектом
    DALL-E 2 — это всеобщее внимание в индустрии искусственного интеллекта. Люди в списке ожидания пытаются заполучить продукт. Что это означает для развития креативной индустрии? О применении ИИ в..

    «Очень простой» эволюционный подход к обучению с подкреплением
    В прошлом семестре я посетил лекцию по обучению с подкреплением (RL) в моем университете. Честно говоря, я присоединился к нему официально, но я редко ходил на лекции, потому что в целом я нахожу..

    Освоение информационного поиска: создание интеллектуальных поисковых систем (глава 1)
    Глава 1. Поиск по ключевым словам: основы информационного поиска Справочная глава: «Оценка моделей поиска информации: подробное руководство по показателям производительности » Глава 1: «Поиск..

    Фишинг — Упаковано и зашифровано
    Будучи старшим ИТ-специалистом в небольшой фирме, я могу делать много разных вещей. Одна из этих вещей: специалист по кибербезопасности. Мне нравится это делать, потому что в настоящее время я..

    ВЫ РЕГРЕСС ЭТО?
    Чтобы понять, когда использовать регрессионный анализ, мы должны сначала понять, что именно он делает. Вот простой ответ, который появляется, когда вы используете Google: Регрессионный..

    Не зря же это называют интеллектом
    Стек — C#, Oracle Опыт — 4 года Работа — Разведывательный корпус Мне пора служить Может быть, я немного приукрашиваю себя, но там, где я живу, есть обязательная военная служба на 3..

    LeetCode Проблема 41. Первый пропущенный положительный результат
    LeetCode Проблема 41. Первый пропущенный положительный результат Учитывая несортированный массив целых чисел, найдите наименьшее пропущенное положительное целое число. Пример 1: Input:..