И всё-таки вам нужны подробности? Что ж, "получите, распишитесь". Для начала разберёмся, что DMconnect может:

  • Осуществлять связь и обмен сообщениями между пользователями - DMconnect, как не трудно догадаться, поддерживает полноценную передачу сообщений между пользователями: посредством групповых чатов (подсерверов) и личных сообщений.
  • Пользователь может выбрать свой статус - пользователь может выбирать свой собственный статус, используя сообщение вида /act СТАТУС. При этом необходимо находиться на одном из подсерверов.
  • Пользователь может создавать собственные комнаты (подсервера) - пользователь может создавать собственные подсервера для общения, используя сообщение вида /create_server ИМЯ. Обратите внимание: подсервера с пробелами в названии не поддерживаются.
  • Можно получить список пользователей на подсервере - это делается командой /members, при этом нужно находится на одном из подсерверов.
  • Конечно, всё расписывать здесь я не буду. Весь список доступных команд можно получить с помощью /help.
На данный момент протокол не поддерживает:
  • Передачу файлов между пользователями - этого нет даже в планах. DMconnect - протокол чисто текстовый, так что всяких возможностей по типу передачи картинок, эмодзи (ну, разве что, текстовых) и т. д. не ждите.
  • Сервер не может хранить историю сообщений - DMconnect подразумевает, что вы с вашим собеседником (или собеседниками) находятся on-line, так что данной возможности можете также не ждать.
  • Администрирование собственного подсервера - увы, это - горькая правда. Подсервер может администрировать только администратор сервера, баня злополучных пользователей. Поэтому устанавливать собственные правила для своего подсервера - не принято, да и зачем?
Теперь перейдём к протоколу всего этого чуда. По сути, DMconnect прост настолько, насколько это возможно. Минимальный клиент на Python получится всего на 26(!) строк (см. инструкцию по созданию своего клиента). Объясним кратко: вы можете банально отправлять серверу "cырые" (/login, /register, /join_server, как дела и т. д.) сообщения, закодированные в UTF-8 (обязательно, любые другие кодировки не поддерживаются), т. е. алгоритм создания своего клиента / бота / автоответчика таков:
  1. Делаем подключение к серверу через сокет AF_INET и SOCK_STREAM.
  2. Делаем приемник сообщений от сервера (простой бесконечный цикл, который печатает (или делает что-либо ещё) все сообщения от сервера, например: client_socket.recv(1024).decode("utf-8").strip()).
  3. Отправляем серверу сообщение, например, client_socket.send("Hello World".encode("utf-8")).
  4. Готово!
Если вам интересны самые специфичиные подробности протокола DMconnect (вернее, это словарь команд и ответов на них от сервера) - существует документация.

С уважением, BitByByte.

Статистика сайта:

Посещений за день: 9.
Посещений за месяц: 253.
Посещений за год: 243.


likes counter


BitByByte's site Хостинг Web1.0