为了账号安全,请及时绑定邮箱和手机立即绑定

简单的golang IRC机器人保持超时

简单的golang IRC机器人保持超时

Go
冉冉说 2021-05-21 18:31:36
我正在修补golang,我的第一个代码是一个简单的IRC机器人,其中包含以下代码:package mainimport ("net"        "log"        "bufio"        "fmt"        "net/textproto"      )type Bot struct{        server string        port string        nick string        user string        channel string        pass string        pread, pwrite chan string        conn net.Conn}func NewBot() *Bot {        return &Bot{server: "irc.freenode.net",                    port: "6667",                    nick: "subsaharan",                    channel: "#rapidsms",                     pass: "",                    conn: nil,                    user: "blaze"}}func (bot *Bot) Connect() (conn net.Conn, err error){  conn, err = net.Dial("tcp",bot.server + ":" + bot.port)  if err != nil{    log.Fatal("unable to connect to IRC server ", err)  }  bot.conn = conn  log.Printf("Connected to IRC server %s (%s)\n", bot.server, bot.conn.RemoteAddr())  return bot.conn, nil}func main(){  ircbot := NewBot()  conn, _ := ircbot.Connect()  conn.Write([]byte("NICK " + ircbot.nick))  conn.Write([]byte("JOIN " + ircbot.channel))  defer conn.Close()  reader := bufio.NewReader(conn)  tp := textproto.NewReader( reader )  for {        line, err := tp.ReadLine()        if err != nil {            break // break loop on errors            }        fmt.Printf("%s\n", line)    }}当我运行此代码时,将在终端上获得以下输出:2012/11/12 13:31:20 Connected to IRC server irc.freenode.net (193.219.128.49:6667):sendak.freenode.net NOTICE * :*** Looking up your hostname...:sendak.freenode.net NOTICE * :*** Checking Ident:sendak.freenode.net NOTICE * :*** Couldn't look up your hostname:sendak.freenode.net NOTICE * :*** No Ident responseERROR :Closing Link: 127.0.0.1 (Connection timed out)连接为何一直超时?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 201 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信