Основное.   

 

 Подключение к серверу.
 Как нетрудно догадаться, авторизация пользователя начинается с подключения к серверу. 
 Для создания клиентского сокета используется AF_INET (он, в свою очередь, 
 используется для указания семейства протоколов IPv4. Адрес основного сервера DMconnect 
 всегда представлен в виде IPv4, так что этот параметр никогда не меняется).
 Для сокета потока DMconnect использует SOCK_STREAM, этот параметр также никогда не
 меняется.

 Приём и отправка сообщений.
 На стороне сервера все ваши отправленные сообщения "хранятся" ровно столько времени,
 сколько это нужно для отправки всем пользователям на подсервере. После этого имя
 отправителя и текст сообщения будет невозможно извлечь. Время отправки на сервере также 
 не сохраняется. Сообщения всегда работают в кодировке UTF-8, а клиенты работают
 с параметром recv в значении 1024 байта, т. е. количество принимаемых данных
 не ограничено. На сервере ситуация аналогична - сообщения можно отправлять любого
 размера, ограничитель "вшит" в сам официальный клиент.

 Для отправки сообщения, нужно воспользоваться созданным ранее сокетом подключения и
 функцией, как ни странно, отправки и кодирования (.encode) в UTF-8.
 
 Выход с сервера.
 Для выхода с сервера (выход с определённого подсервера не поддерживается), нужно
 закрыть соединение с сервером через ваш клиентский сокет. Сервер отправит всем
 пользователям подсервера, на котором вы были, сообщение вида:

 *** ВАШЕ ИМЯ has left the server.

 Также, для "предохранения", сервер автоматически закрывает соединение с вашим
 клиентским сокетом (только при TCP-подключении), в WebSocket же такого
 "двойного разрыва" нет.

 Система WebSocket.
 Протокол DMconnect также поддерживает работу с WebSocket, она во многом аналогична
 TCP, но есть мелкие отличия:

 при подключении клиента по WebSocket, ему не будет отправлено сообщение "Enter
 command (/login /register):";
 при общении с сервером, WebSocket, как и сервер, не используют никакого
 кодирования / декодирования в другие кодировки, в отличии от TCP;
 системные сообщения на WebSocket приходят "исходными", т. е. без каких-либо
 лишних символов (см. ниже);
 при отключении клиента, у сервера нет "системы предохранения" (см. выше), т. е. он 
 не разрывает соединение дважды.

 Системные сообщения.
 Обратите внимание, что большинство системных сообщений (обычно, во время
 авторизации пользователя) по TCP могут приходить с лишними знаками переноса ("\n").
 Обычно, примерно с двумя или тремя. Дабы этого избежать, в парсерах рекомендуется
 добавить автоматическое удаление переносов / лишних пробелов.

 С WebSocket такой проблемы нет.
 
 
 

  Индекс | Основное | Вход | Сервера | Прочее