Існують різні форми чату, тому відповідь залежить від реалізації / веб-сайту. Основними методами є або прямий чат "клієнт-клієнт", де веб-сайт надає інтерфейс програми та полегшує рукостискання, щоб представити двох користувачів один одному (ви не знаєте, як підключитися до особи B, вони не знати, як підключитися до вас, але ви обидва знаєте, як підключитися до сайту, і сайт веде переговори про те, що ви з'єднаєтесь один з одним). Це має величезну вигоду для операторів сайту, оскільки це - нічия для них (перейдіть на мій сайт, і ви можете спілкуватися в чаті), але вони не обтяжені накладними витратами фактичної обробки / передачі всього трафіку.
Інший найпопулярніший метод більше схожий на спочатку мислення. Ви можете використовувати Facebook як приклад цього. Ви надсилаєте повідомлення, і воно йде на сервер сайту, реєструється в їхніх журналах, зберігається в їхніх базах даних і т.д. Повідомлення також надсилається одержувачам, будучи доступним у базі даних, коли додаток людини B виконує пошук. Є гачки і зворотні виклики, які дозволяють одержувачу знати нове повідомлення чекає, і їх додаток завантажує його, як тільки він буде повідомлений, даючи вигляд миттєвого прямого обміну повідомленнями; але насправді все це послужило вмістом на сайті хостингу.
Легко сказати. Прямі повідомлення "клієнт-клієнт" не матимуть історії, яка слідує за вами різними браузерами (програма може зберігати історію чату на локальній машині, але вона не переходить до іншої машини, оскільки інша машина не входила до оригінальний прямий зв'язок). Чат з маршрутизацією / збереженим на веб-сайті найчастіше має попередню історію чату, яка буде слідувати за вами (тому що всі чати відправляються і зберігаються на сайті, знову ж таки Facebook є прекрасним прикладом).