Как разархивировать прото со сканером, используя net.Conn? - PullRequest
2 голосов
/ 02 октября 2019

Я настроил сервер go для получения данных от клиента. Столкнулись с проблемой, пытаясь разобрать объект. Я делаю это неправильно? Это работало хорошо с текстом.

Это мой код:

func handleConnection(conn net.Conn) {
scanner := bufio.NewScanner(conn)

for {
    ok := scanner.Scan()

    if !ok {
        break
    }
    request := &protoBuf.Request{}
    err := proto.Unmarshal(scanner.Bytes(), request)
    if err != nil {
        log.Fatal("unmarshaling error: ", err)
    }
}
}

Сообщение об ошибке:

2019/10/02 19:24:29 unmarshaling error: proto: protoBuf.Request: 
illegal tag 0 (wire type 2)
...