我正在使用Go从使用net.Dial的服务器读取回复。下面的代码有效,但是服务器发回2条回复。要阅读第二个答复,我将不得不再次阅读答复。有没有更简单的方法来丢弃第一个答复并获取第二个答复?问候
_, err = conn.Write([]byte(login))
reply := make([]byte, 5000)
_, err = conn.Read(reply)
fmt.Print(string(reply))
答案 0 :(得分:1)
io.CopyN(ioutil.Discard, conn, 5000)
它将读取前5000个字节并将其丢弃。假设每个回复都是5000字节。
如果回复是用新行(例如http或irc)分隔的字符串,则可以使用buffio
reader := bufio.NewReader(os.Stdin)
reader.ReadString('\n')
secondline := reader.ReadString('\n')