我有一个套接字客户端,读取的响应如下:
message, err := bufio.NewReader(conn).ReadString('\n')
它可以正常工作,但是ReadString方法似乎对缓冲区大小没有限制。
是否可以添加一个?在bufio的文档中找不到很多东西。
答案 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')