Gob-Daten können in Go Programming nicht über TCP gesendet werden
Ich habe eine Client-Server-Anwendung, die eine TCP-Verbindung verwendet
Klient:
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)
}
Server:
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)
}
Das Ergebnis für Aufschlag ist {0, 0}, da ich nicht weiß, wie ich a erhalten sollbytes.Buffer
variabel vonnet.Conn
.
Gibt es eine Möglichkeit, GOB-Variablen über TCP zu senden?
Wenn ja, wie geht das? Oder gibt es eine Alternative beim Senden von Nummern über TCP?
Jede Hilfe oder Beispielcode wäre wirklich dankbar.