Go Golang net.Dial发送1个请求,但读取第二个响应

时间:2018-12-23 00:16:19

标签: go

我正在使用Go从使用net.Dial的服务器读取回复。下面的代码有效,但是服务器发回2条回复。要阅读第二个答复,我将不得不再次阅读答复。有没有更简单的方法来丢弃第一个答复并获取第二个答复?问候

_, err = conn.Write([]byte(login))
reply := make([]byte, 5000)

_, err = conn.Read(reply)
fmt.Print(string(reply))

1 个答案:

答案 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')