【问题标题】:boost: readline for tcp clientboost: tcp 客户端的 readline
【发布时间】:2011-10-24 15:52:52
【问题描述】:

我正在使用 boost 在 c++ 中开发一个 tcp 服务器。我想逐行处理传入的数据,并正在寻找一个 socket.readLine 方法。但是,我只能找到一个 read_some() 方法。我不知道“some”的定义是什么,但我认为字符串不一定以“\n”结尾。

那么如何使用 boost 实现 socket.readLine() 呢?

【问题讨论】:

标签: c++ sockets boost tcp readline


【解决方案1】:

我假设您正在使用 boost::asio。如果是这样,那么有一个 read_until() 函数可以满足您的需求。

http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/reference/read_until.html

【讨论】:

  • 文档似乎暗示了这一点:“此函数用于将数据读入指定的流缓冲区直到流缓冲区的获取区域包含指定的分隔符。” (强调直到我的)实际上它会比streambuf读到更多...
【解决方案2】:

【讨论】:

    【解决方案3】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多