Go Golang net.Dial Отправить 1 запрос, но прочитать второй ответ - PullRequest
0 голосов
/ 23 декабря 2018

Я использую Go, чтобы прочитать ответ от сервера, используя net.Dial.Код ниже работает, но сервер отправляет обратно 2 ответа.Чтобы прочитать второй ответ, мне придется прочитать ответ еще раз.Есть ли более простой способ отказаться от первого ответа и получить второй?С уважением

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

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

1 Ответ

0 голосов
/ 23 декабря 2018
io.CopyN(ioutil.Discard, conn, 5000)

он прочитает первые 5000 байтов и сбросит их.При этом предполагается, что каждый ответ составляет ровно 5000 байтов.

Если ответ представляет собой строки, разделенные новыми строками (например, http или irc), вы можете использовать buffio

reader := bufio.NewReader(os.Stdin)
reader.ReadString('\n')
secondline := reader.ReadString('\n')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...