在Go中,TCP連接(net.Conn)是io.ReadWriteCloser。我想通過模擬TCP連接來測試我的網(wǎng)絡(luò)代碼。我有兩個要求:要讀取的數(shù)據(jù)存儲在字符串中每當(dāng)寫入數(shù)據(jù)時,我都希望將其存儲在某種緩沖區(qū)中,以便以后使用有沒有為此的數(shù)據(jù)結(jié)構(gòu),或者是一種簡單的制作方法?
3 回答

呼喚遠(yuǎn)方
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個贊
為什么不使用bytes.Buffer?它是一種io.ReadWriter并且具有String獲取存儲數(shù)據(jù)的方法。如果需要將其設(shè)置為io.ReadWriteCloser,則可以定義自己的類型:
type CloseableBuffer struct {
bytes.Buffer
}
并定義一個Close方法:
func (b *CloseableBuffer) Close() error {
return nil
}

慕勒3428872
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個贊
詢問問題時不知道是否存在,但是您可能希望net.Pipe()
它為您提供兩個net.Conn
相互鏈接的全雙工實(shí)例
- 3 回答
- 0 關(guān)注
- 286 瀏覽
添加回答
舉報(bào)
0/150
提交
取消