Программы мгновенного обмена сообщениями ( англ. Instant messenger, сокращенно IM. Иногда еще называют интернет пейджером илимессенджером ) - это программа для обмена мгновенными сообщениями через компьютерные сети (как правило через интернет ). Обычно, это небольшие текстовые сообщения. Но кроме этого могут быть и другие функции, такие как передача файлов, изображений, звуковых сигналов и сообщений, видео, а также осуществляться совместные действия, такие как совместное рисование или игры.
Отличие от, например, электронной почты здесь в том, что обмен сообщениями происходит в реальном времени. При отправлении сообщения в электронной почте сообщение сохраняется в почтовом ящике на сервере. Чтобы получить сообщение, получатель должен сам проверить свой почтовый ящик и забрать их. В интернет пейджерах связь между пользователями удерживается постоянно и отправленное сообщение сразу передается пользователю.
Сообщения могут быть либо между двумя или между несколькими собеседниками (конференция, чат ).
Для этого вида коммуникации необходима клиентская программа. Программа работает по некоторым протоколом. Протоколы бывают серверные или без серверные. Наиболее распространенные серверные протоколы, то есть это когда мессенджеры не работают самостоятельно, а подключаются к центральному компьютеру сети обмена сообщениями, который называют сервером. Поэтому мессенджеры и называют клиентами (клиентскими программами).
В без серверных протоколах (FChat, NASSI, UChat) сообщения передаются непосредственно от одного собеседника к другому.
Каждая система мгновенного обмена сообщениями должна иметь следующие составляющие:
-
Система идентификации (адресации) клиентов.
-
Система учета состояния клиентов (кто подключен, а кто нет)
-
Система доставки сообщений (обычно передает сообщения через компьютерные сети, но может например непосредственно к другому пользователю на том же компьютере)
Серверная система обмена сообщениями
Классическая серверная система состоит из следующих компонентов
Система идентификации (адресации) клиентов
В без серверных протоколов возникают проблемы идентификации собеседника. Для точной идентификации клиента могут использовать только физический сетевой адрес ( IP ). Это создает сложности, так как на одном компьютере могут находиться несколько пользователей. Для решения этой проблемы и были созданы серверные протоколы. В серверных протоколах выделяется сервер, который ведет учет пользователей. На сервере нужно зарегистрироваться используя идентификатор и пароль (необязательно). Затем идентификация проходит через сервер. Идентификаторы пользователей это правило номер ( ICQ ) или специальное имя пользователя (логин). В таких протоколах, как, например, XMPP (Jabber) логин равно как и в адресах email содержит домен и имеет вид имя_пользователя @ домен.
Система учета состояния пользователей
Большинство IM-клиентов позволяет пользователям видеть, подключены к сети их собеседники в этот момент. Состояние пользователей в мессенджерах называется статусом.Существует три основных статусы, отражающие присутствие / отсутствие пользователя в сети:
-
В сети / Онлайн (англ. Online ) - пользователь подключен к сети и готов к общению.
-
Не в сети / сети (англ. Offline ) - пользователь не в сети.
-
Невидимый (англ. Invisible ) - пользователь находится в сети, но этот специальный статус не позволяет видеть его всем остальным (или только некоторым) пользователям.Зато они видят статус пользователя как Offline. Может получать и отправлять сообщения.
Большинство протоколов позволяет использовать множество статусов и они могут содержать заданный пользователем текст (например «Занят, пишу дипломную» или «Вышел в магазин») и дополнительное изображение-иконку. Обычно используются следующие статусы:
-
Отошел (англ. Away ). Традиционно включается когда пользователь некоторое время не пользуется компьютером. Может быть установлен самим пользователем при которой отходит от компьютера или включаться автоматически самой программой-клиентом благодаря регистрации времени бездействия пользователя.
-
Недоступен (англ. N / A - Non-Available ). Традиционно включается когда пользователь долгое время не пользуется компьютером. Может включаться автоматически самой программой-клиентом благодаря регистрации времени бездействия пользователя.
-
Занят (англ. Busy).
-
Не беспокоить (англ. DND - Do Not Disturb ).
-
Готов поболтать (англ. Free for Chat ).
-
Дома (англ. At home ).
-
На работе (англ. At work ).
-
Им (англ. Eating ).
-
Злой (англ. Evil )
Список контактов
Пользователь может создавать собственный список контактов. Контакты могут быть сгруппированы в группы с названием. Большинство протоколов позволяют сохранять список контактов на сервере, что создает определенные удобства:
-
Пользователь может получить его находясь на другом компьютере.
-
Пользователь может задавать собственные правила для контактов. Например список заблокированных (запрещенных) контактов от которых он не желает получать сообщения («черный список»). Или список контактов для которых его статус всегда виден.
-
Пользователь может хранить собственные пометки для контактов
Система журналирования сообщений
Сообщения могут быть сохранены в так называемом журнале (истории) сообщений. Этот журнал может быть пересмотрен. Некоторые протоколы ( GTalk / XMPP ) позволяют так же как и контакты хранить журнал на сервере.
Информация о пользователях
Почти все распространенные протоколы (кроме IRC) позволяют пользователям задавать собственную информацию о себе в специальных анкетах. Некоторые протоколы ( XMPP) используют для этого стандарт так называемой визитной карточки VCard. Обычно анкеты содержат такие поля как:
-
Ник (никнейм, псевдоним)
-
Имя
-
Фото пользователя или изображения (аватара)
-
Адрес
-
Дата рождения и возраст
-
Интересы
-
О себе
-
Контактная информация (e-mail, номера телефонов и прочее)
Сами IM-клиенты могут использовать одну или несколько служб. В последнее время программы мгновенного обмена сообщениями становятся популярным средством общения.