在Go中模拟TCP连接

在Go中,TCP连接(net.Conn)是io.ReadWriteCloser。我想通过模拟TCP连接来测试我的网络代码。我有两个要求:

  1. 要读取的数据存储在字符串中
  2. 每当写入数据时,我都希望将其存储在某种缓冲区中,以便以后使用

是否有数据结构或简单的方法?

回答:

为什么不使用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

回到顶部