为了账号安全,请及时绑定邮箱和手机立即绑定

在Go中模拟TCP连接

在Go中模拟TCP连接

Go
潇湘沐 2021-04-14 18:14:15
在Go中,TCP连接(net.Conn)是io.ReadWriteCloser。我想通过模拟TCP连接来测试我的网络代码。我有两个要求:要读取的数据存储在字符串中每当写入数据时,我都希望将其存储在某种缓冲区中,以便以后使用有没有为此的数据结构,或者是一种简单的制作方法?
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

为什么不使用bytes.Buffer?它是一种io.ReadWriter并且具有String获取存储数据的方法。如果需要将其设置为io.ReadWriteCloser,则可以定义自己的类型:


type CloseableBuffer struct {

    bytes.Buffer

}

并定义一个Close方法:


func (b *CloseableBuffer) Close() error {

    return nil

}


查看完整回答
反对 回复 2021-04-26
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

询问问题时不知道是否存在,但是您可能希望net.Pipe()它为您提供两个net.Conn相互链接的全双工实例


查看完整回答
反对 回复 2021-04-26
  • 3 回答
  • 0 关注
  • 242 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信