doutongxuan1614
2014-02-08 06:50
浏览 162
已采纳

从net.Conn获取io.ByteReader

I am connecting to a TCP/IP server using Go code similar to:

conn, err := net.Dial("tcp", host+":"+strconv.Itoa(port))

Now I need to use binary.ReadVariant which takes an io.ByteReader, so trying to write code like this:

var length int64
var err error
length, err = binary.ReadVarint(conn)

Gives me an error like:

./main.go:67: cannot use conn (type net.Conn) as type io.ByteReader in function argument:
    net.Conn does not implement io.ByteReader (missing ReadByte method)

How can I make this work?

图片转代码服务由CSDN问答提供 功能建议

我正在使用类似于以下代码的Go代码连接到TCP / IP服务器:</ p> < pre> conn,err:= net.Dial(“ tcp”,host +“:” + strconv.Itoa(port)) </ code> </ pre>

现在我需要 使用 binary.ReadVariant ,它需要一个io.ByteReader,因此尝试编写类似 </ p>

  var length int64 
var err error 
length,err = binary.ReadVarint(conn)
 </ code> </ pre> 
 
 

给我一个错误,例如:</ p>

  ./ main.go:67:不能在函数参数:
 net中使用conn(类型为net.Conn)作为io.ByteReader类型 .Conn没有实现io.ByteReader(缺少ReadByte方法)
 </ code> </ pre> 
 
 

我该如何进行这项工作?</ p> </ div>

2条回答 默认 最新

相关推荐 更多相似问题