Closed ericx10ng closed 8 years ago
看到Decode里调用了ReadFull, 如果头部有4个字节,但是只有2字节到了,会出错吧? 当然机率很小, 如果包不完整,想要block住等待,该如何实现呢?
io.ReadFull会循环调用io.Reader.Read(),直到所需的数据都读到。如果读取过程中发生io错误,会返回已读字节数和具体错误。这就是你要的block住等待消息的效果。
看到Decode里调用了ReadFull, 如果头部有4个字节,但是只有2字节到了,会出错吧? 当然机率很小, 如果包不完整,想要block住等待,该如何实现呢?