| |
| |
Подключение к серверу.
Как нетрудно догадаться, авторизация пользователя начинается с подключения к серверу.
Для создания клиентского сокета используется AF_INET (он, в свою очередь,
используется для указания семейства протоколов IPv4. Адрес основного сервера DMconnect
всегда представлен в виде IPv4, так что этот параметр никогда не меняется).
Для сокета потока DMconnect использует SOCK_STREAM, этот параметр также никогда не
меняется.
Приём и отправка сообщений.
На сервере отправленные сообщения хранятся только на время, необходимое для доставки
всем клиентам текущего под сервера. После передачи данные удаляются: имя отправителя,
текст сообщения и время отправки восстановить невозможно. Время отправки на
сервере также не сохраняется. Сообщения всегда работают в кодировке UTF-8,
а клиенты работают с параметром recv в значении 32 КБ, т. е. 32768 байт.
На сервере ситуация аналогична - сообщения можно отправлять любого размера.
Для отправки сообщения, нужно воспользоваться созданным ранее сокетом подключения и
функцией, как ни странно, отправки и кодирования (.encode) в UTF-8.
Выход с сервера.
Для выхода достаточно закрыть клиентский сокет. Подсервер, на котором вы находились,
сразу жеуведомит всех остальных пользователей о вашем отключении.
*** ВАШЕ ИМЯ has left the server.
Если же вы подключались через удалённый подсервер (то есть находились на
подсервере, принадлежащем другому серверу), то уведомление также включает имя
хоста:
*** ВАШЕ ИМЯ@ХОСТ ВАШЕГО СЕВРЕРА has left the server.
Однако, если есть пользователи, которые подключались с того же сервера и на тот
же удаленный подсервер, что и вы, то для них сообщение будет вида:
*** ВАШЕ ИМЯ has left the server.
| |
| |
|
|
|