net.Conn.Read并且*bufio.ReadWriter.Read都从同一个连接读取,但后者被缓冲。所述Hijack在标准的“净/ HTTP”封装的方法直接返回net.Conn包裹在一个bufio.ReadWriter,使用相同的*bufio.Reader一个已经分配给HTTP请求。
bufio.Reader直接从网络连接读取时,您可能会错过其中的缓冲数据。如果你想net.Conn直接使用,你应该检查是否已经有缓冲的数据Reader.Buffered,并根据所使用的协议进行处理。
通常,您应该更喜欢使用bufio.ReadWriter,因为它对于非最佳大小的网络读取和写入效率更高。
在 net.Conn仍然需要处理的读取和写入的最后期限,关闭net.Conn时,即可大功告成,以及任何其他特定的网络活动。