比如下面的代码:
for {
beforeRead()
c.Read(buf)
}
这样会导致beforeRead()被调用两次, 进入第二次循环, 先调用了beforeRead之后, 才调用Read被阻塞
有什么好的办法解决这个问题吗,谢谢!
有疑问加站长微信联系(非本文作者)

比如下面的代码:
for {
beforeRead()
c.Read(buf)
}
这样会导致beforeRead()被调用两次, 进入第二次循环, 先调用了beforeRead之后, 才调用Read被阻塞
有什么好的办法解决这个问题吗,谢谢!
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
set dead line
我感觉你需要peek一下,我以前弄数据读的时候用peek探测能读多少数据。
你是不是需要:
goroutine + channel 不好吗?
两个goroutine 一个从 net.Conn 中读取,并写入 channel 另一个从 channel 中取出数据。