我在golang中安装了tcp服务器,希望接收和解码一个pickle流
我正在使用stalecucumber取消go
中的数据python方面大致看起来像这样
sock = socket(AF_INET,SOCK_STREAM)
sock.connect(('127.0.0.1',5006))
sock.send(cPickle.dumps(data))
Go服务器如下所示:
ln, _ := net.Listen(CONN_TYPE, CONN_PORT)
conn, _ := ln.Accept()
data := make([]byte,0)
for {
// for gob I would normally do this
// dec.Decode(&data);
err := stalecucumber.UnpackInto(&data).From(stalecucumber.Unpickle(<can't provide conn here>))
}
任何方式听取腌制物品流并解码它们?
答案 0 :(得分:1)
来自stalecucumber
Unpickle
需要io.reader
func Unpickle(reader io.Reader) (interface{}, error) {
看起来应该是这样的:
err = UnpackInto(&data).From(Unpickle( bytes.NewReader( buf.Bytes() ) ))
我认为您必须将其与conn
err = UnpackInto(&data).From(Unpickle( bytes.NewReader( conn ) ))