Я пишу код python для клиента IRC.IRC-клиент в python
Я хочу понять, как клиент и сервер IRC общаются друг с другом.
Может ли кто-нибудь дать мне хорошую учебную или коммуникационную архитектуру IRC, чтобы понять ее по глубине?
Благодаря
Я пишу код python для клиента IRC.IRC-клиент в python
Я хочу понять, как клиент и сервер IRC общаются друг с другом.
Может ли кто-нибудь дать мне хорошую учебную или коммуникационную архитектуру IRC, чтобы понять ее по глубине?
Благодаря
Если вы хотите изобрести колесо, вам необходимо реализовать RFC и сделать все с нуля.
Если вы не хотите этого делать и потребуется некоторый уровень абстракции, чтобы облегчить вашу разработку (и что вам нужно), см. Twisted.
Существует также библиотека Python IRC client.
Для большинства протоколов хороший способ начать искать документ под названием RFC. Есть один для многих протоколов, и он определяет - в глубине - как он должен себя вести.
Вы можете найти его для IRC here.
Документация IRC RFC является важной ссылкой, но самое полезное первое введение, которое я нашел на связи между клиентом и сервером IRC, было очень простым.
Во-первых, вам нужен доступ к оболочке * nix (например, ssh в ваш веб-хост под управлением Linux).
В командной строке откройте прямое подключение к IRC-серверу с помощью программы «nc». Затем вы можете вводить команды RFC напрямую и видеть ответ. Попробуйте ввести
$ nc wright.freenode.net 6667
PASS whateveryoulike
NICK yournick
USER username 0 * :Real Name
Существует выход с сервера посреди этого, но теперь вы вошли в и «зарегистрированный» вашего пользователя. Примечание: ваш ник не зарегистрирован (ala NickServ), я имею в виду регистрацию пользователя, как описано в разделе 3.1 раздела RFC 2812 IRC Client Protocol.
Теперь вы можете присоединиться к каналу:
JOIN #yourtestchannel
Смотрите, кто в канале:
WHO #yourtestchannel
Отправить себе Сообщ:
PRIVMSG yournick Message Text Here
чат в канал (скопировав channel a msg):
PRIVMSG #yourtestchannel Message Text Here
Это особенно полезно, если вы подключены к одному и тому же серверу и каналу с другим ником в реальном IRC-клиенте. Вы можете пообщаться с самим собой и msg один ник к другому, и посмотреть «сырой» вывод IRC, который вам придется анализировать, чтобы написать собственный клиент или бот.
Например, кто-то в чате в канале выглядит примерно так:
:[email protected]_various_parts PRIVMSG #channel :Hey guys, what's up?
Использование RFC, вы можете играть с любой функциональностью вы хотите, и, что более важно, понять, как вам нужно разбирать вещи.
О, и не забывайте, что иногда PONG или когда запрашивается с помощью PING, чтобы избежать таймаута пинга.
Безопасная ли связь тоже проста? –
+1: Осуществление IRC с помощью Twisted легко сделать. –
Я также написал https://irc3.readthedocs.org/ с python3/asyncio – gawel