跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • IRC 协议中发送什么样的数据包可以发送给频道中的所有人消息, socket 编程该如何接收频道中的消息呢?
未分類
29 5 月 2020

IRC 协议中发送什么样的数据包可以发送给频道中的所有人消息, socket 编程该如何接收频道中的消息呢?

IRC 协议中发送什么样的数据包可以发送给频道中的所有人消息, socket 编程该如何接收频道中的消息呢?

資深大佬 : SystemLight 1

有没有人用 IRC 协议,IRC 协议中发送什么样的数据包可以发送给频道中的所有人消息,socket 编程该如何接收频道中的消息呢?

大佬有話說 (4)

  • 資深大佬 : est

    这个跟数据包无关吧。irc daemon 选择如何传递消息。

  • 資深大佬 : ysc3839

    怀疑这是个 X-Y Problem,建议你说一下最终的目的。
    你只是想自行研究学习 IRC 协议吗?还是说要实现别的功能?如果是后者建议使用现成的 IRC 库。

  • 主 資深大佬 : SystemLight

    @ysc3839 实际上我现在可以发送信息到 IRC 服务器, 我选择的服务器是 irc.gitter.im/6697, 频道是#systemlight-madtornado/community,irc.gitter.im 提供了 web 端访问 : https://gitter.im/systemlight-madtornado/community

    我现在可以将消息发送到这个频道中,代码实现,协议参考地址 https://tools.ietf.org/html/rfc1459:
    import socket
    import ssl

    ircbot = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    ircbot = ssl.wrap_socket(ircbot)

    ircbot.connect((“irc.gitter.im”, 6697))
    ircbot.send(“PASS 1f3f4e0fd544731b4fedc7ce096a2a6a7447aef3n”.encode())
    print(ircbot.recv(2040))
    ircbot.send(“USER test test test :testn”.encode())
    ircbot.send(“NICK testn”.encode())
    ircbot.send(“JOIN #systemlight-madtornado/communityrn”.encode())
    # ircbot.send(‘PRIVMSG #systemlight-madtornado/community :hello mern’.encode())

    while True:
    data = ircbot.recv(4096)

    if data.find(b’PING’) != -1:
    ircbot.send(b’PONG ‘ + data.split()[1] + b’rn’)

    if data:
    print(data)

    问题:如何可以接收到别人发送来的信息,我尝试使用一个工具 hexchat 往频道中发送消息,web 端可以获取到该消息,但是我的程序没有收到任何的来自 IRC 服务器的反馈,但是我可以收到它发送给我的一些心跳包 ping-pong

  • 資深大佬 : ysc3839

    @SystemLight 你好像没有明确表示是不是要研究学习 IRC 协议,如果是的话我只能说我没研究过,我都是使用现成的库的。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具