У меня есть клиентское серверное приложение, использующее TCP-соединение
Клиент:
type Q struct {
sum int64
}
type P struct {
M, N int64
}
func main() {
...
//read M and N
...
tcpAddr, err := net.ResolveTCPAddr("tcp4", service)
...
var p P
p.M = M
p.N = N
err = enc.Encode(p)
}
Сервер:
type Q struct {
sum int64
}
type P struct {
M, N int64
}
func main() {
...
tcpAddr, err := net.ResolveTCPAddr("ip4", service)
listener, err := net.ListenTCP("tcp", tcpAddr)
...
var connB bytes.Buffer
dec := gob.NewDecoder(&connB)
var p P
err = dec.Decode(p)
fmt.Printf("{%d, %d}\n", p.M, p.N)
}
Результат на сервисе - {0, 0}, потому что я не знаю, как получить переменную bytes.Buffer
из net.Conn
.
Есть ли способ отправки переменных gob через TCP?
Если это правда, как это можно сделать? Или есть какая-либо альтернатива при отправке чисел по TCP?
Любая помощь или образец кода действительно будут оценены.