【发布时间】:2012-06-27 11:01:44
【问题描述】:
我有一个客户端服务器应用程序,使用 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)
}
serve 上的结果是 {0, 0} 因为我不知道如何从 net.Conn 获取 bytes.Buffer 变量。
有什么方法可以通过 TCP 发送 gob 变量?
如果是真的,怎么办?或者通过 TCP 发送号码还有其他选择吗?
非常感谢任何帮助或示例代码。
【问题讨论】: