Да, обычно есть «сервер», к которому подключаются несколько клиентов.Сервер принимает сообщения от одного клиента и пересылает его одному или нескольким другим клиентам.Это почти всегда «асинхронно», но это может означать несколько вещей (независимо от того, выполняется ли это таким образом на клиенте или сервере, является ли сервер «управляемым событиями» или многопоточным и т. Д.).Сервер может быть веб-сервером, но существуют и другие типы (например, серверы Jabber, которые используют XMPP, обычно [или часто] на порту 5222).
Некоторые мессенджеры работают по HTTP (обычно порт 80, обычно открытый) и даже когда протокол обычно использует другой порт, «веб-шлюз» может быть записан для связи через порт 80 и HTTP, чтобы избежать проблем с другими портами, заблокированными, и он может перенаправить на «стандартный сервер» или повторно внедритьэто целиком.Особенно в корпоративных средах доступ в Интернет может осуществляться через прокси-сервер HTTP, поэтому единственным вариантом является использование шлюза или собственных приложений / протоколов обмена сообщениями HTTP.
Полагаю, важно правильно определить «сервер» для них.дискуссии.Часто этот термин используется для описания реального компьютера, сидящего в центре обработки данных или чего-то еще.Но когда мы говорим о «веб-сервере» или «jabber-сервере», мы обычно имеем в виду программное обеспечение daemon , которое является частью программного обеспечения, задачей которого является прослушивание клиентских подключений и обработка сообщений, которые он получает.