bufio.NewReader.ReadString()中没有缓冲区大小限制吗?

时间:2018-10-10 07:51:35

标签: go

我有一个套接字客户端,读取的响应如下:

message, err := bufio.NewReader(conn).ReadString('\n')

它可以正常工作,但是ReadString方法似乎对缓冲区大小没有限制。

是否可以添加一个?在bufio的文档中找不到很多东西。

1 个答案:

答案 0 :(得分:2)

例如,

message, err := bufio.NewReaderSize(conn, 1024).ReadString('\n')

要限制读取的数据,请使用io.LimitedReader。例如,

rdr := bufio.NewReader(&io.LimitedReader{R: conn, N: 1024})
message, err := rdr.ReadString('\n')