回答
如果你想重新發明輪子,那麼你必須實現RFC並從頭開始做所有事情。
如果你不想這樣做,並且需要某種程度的抽象來減輕你的開發(和你應該的),那麼請參閱Twisted。
還有一個Python IRC client庫。
對於大多數協議來說,一個好的方法就是查找一個名爲RFC的文檔。對於許多協議有一個,它定義 - 深入 - 它應該如何表現。
你可以找到一個IRC here。
IRC RFC文檔是一個重要的參考文獻,但我在IRC客戶端和服務器之間的通信中找到的最有幫助的第一個介紹非常簡單。首先,您需要訪問* nix shell(例如運行Linux的Web主機中的ssh)。
在命令行中,使用'nc'程序打開與IRC服務器的直接連接。然後您可以直接鍵入RFC命令,並查看響應。嘗試輸入
$ nc wright.freenode.net 6667
PASS whateveryoulike
NICK yournick
USER username 0 * :Real Name
服務器在此輸出中,但現在您已經登錄並「註冊」了您的用戶。注意:您的暱稱並未註冊(ala NickServ),我指的是登錄RFC 2812 IRC Client Protocol第3.1部分中列出的用戶。
現在,您可以加入一個通道:
JOIN #yourtestchannel
查看誰在出聲道:
WHO #yourtestchannel
自己發送一個消息:
PRIVMSG yournick Message Text Here
聊天引入通道(發送通道1味精):
PRIVMSG #yourtestchannel Message Text Here
如果您在真正的IRC客戶端中連接到同一臺服務器並使用不同的暱稱,則此功能特別有用。你可以和自己聊天,並且可以和另一個人交談,並且看到你需要解析的「原始」IRC輸出來編寫你自己的客戶端或機器人。
例如,有人在聊天頻道看起來是這樣的:
:[email protected]_various_parts PRIVMSG #channel :Hey guys, what's up?
使用RFC,可以玩弄任何你想要的功能,更重要的是,找出如何,你需要解析事物。
噢,不要忘了PONG偶爾或者在提示PING的時候避免ping超時。
安全通信也很簡單嗎? – 2014-05-14 11:30:54
- 1. Python的IRC客戶端
- 2. Python的IRC客戶端
- 3. IRC客戶端的C庫
- 4. 好ruby irc客戶端庫
- 5. C++ IRC客戶端設計
- 6. AJAX IRC客戶端,如何?
- 7. 通過IRC的SSH客戶端輸出
- 8. VB.net簡單的IRC客戶端
- 9. VB IRC客戶端 - writeStream只在IRC中顯示單個字
- 10. 創建程序Ala IRC客戶端,FICS客戶端
- 11. 試圖在python IRC例如,客戶端不可見的聊天
- 12. IRC客戶端C#PING請求
- 13. 紅寶石IRC服務器/客戶端
- 14. C++ irc客戶端異步讀寫
- 15. C++ winsock irc客戶端問題
- 16. C#TcpClient更新(針對IRC客戶端)
- 17. java IRC客戶端文件傳輸
- 18. 帶客戶端的Android客戶端Python
- 19. 過去15分鐘內的IRC客戶端活躍用戶
- 20. 在我的IRC客戶端中使用命令
- 21. 在網頁中嵌入IRC客戶端的最佳方式
- 22. Python dhcp客戶端
- 23. Python fastcgi客戶端
- 24. HTTPS Python客戶端
- 25. GPSD Python客戶端
- 26. 從套接字上的客戶端關閉和關閉的Python Irc-Bot EOF
- 27. 在Java中構建一個irc客戶端
- 28. PHP IRC客戶端包含在網頁中
- 29. 如何在PHP中使用異步IO(用於IRC客戶端)?
- 30. 對支持Socks代理的Java IRC客戶端庫的建議?
+1:用Twisted實現IRC很容易。 – 2010-11-10 18:11:54
我也寫了https://irc3.readthedocs.org/與python3/asyncio – gawel 2014-05-10 09:24:56