【发布时间】:2011-12-08 17:46:18
【问题描述】:
我有两个小程序通过接收端在 Go 中的套接字很好地通信。当我的消息足够小以适合 1024 字节缓冲区并且可以从连接中一次读取时接收到,但现在我想从 100k+ 或更多的图像传输数据时,一切正常。我假设正确的解决方案是在任何图像都可以放入之前不要增加缓冲区。
伪走:
var buf = make([]byte,1024)
conn, err := net.Dial("tcp", ":1234")
for {
r, err := conn.Read(buf[0:])
go readHandler(string(buf[0:r]),conn)
}
如何改进我的套接字读取例程以接受几个字节的简单消息和更大的数据?如果您可以将总图像数据转换为 io.Reader 以用于 image.Decode,则可获得奖励积分。
【问题讨论】: