在Go中模拟TCP连接
在Go中,TCP连接(net.Conn)是io.ReadWriteCloser。我想通过模拟TCP连接来测试我的网络代码。我有两个要求:
- 要读取的数据存储在字符串中
- 每当写入数据时,我都希望将其存储在某种缓冲区中,以便以后使用
是否有数据结构或简单的方法?
回答:
为什么不使用bytes.Buffer
?它是一种io.ReadWriter
并且具有String
获取存储数据的方法。如果需要将其设置为io.ReadWriteCloser
,则可以定义自己的类型:
type CloseableBuffer struct { bytes.Buffer
}
并定义一个Close
方法:
func (b *CloseableBuffer) Close() error { return nil
}
以上是 在Go中模拟TCP连接 的全部内容, 来源链接: utcz.com/qa/400709.html