dongyue9860
2018-10-10 07:51
采纳率: 100%
浏览 430
已采纳

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

I have a socket client that read response like this:

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

It works perfectly, but the ReadString method seems to have no limit on the buffer size.

Is it possible to add one? I didn't find much in bufio's document.

图片转代码服务由CSDN问答提供 功能建议

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

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

它工作得很好,但是ReadString方法似乎没有限制

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

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duanqiao9541 2018-10-10 08:29
    已采纳

    For example,

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

    To limit the data read, use an io.LimitedReader. For example,

    rdr := bufio.NewReader(&io.LimitedReader{R: conn, N: 1024})
    message, err := rdr.ReadString('
    ')
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题