我正在修补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
提交
取消