提升asio - 多个streambufs或每个连接一个?

时间:2012-02-01 20:37:20

标签: c++ boost boost-asio

我正在使用Boost asio来发送和接收带帧的TCP消息。有谁知道使用streambuf的正确方法?

我是否应该在每个连接中收到一个streambuf,然后解析这些消息以在我的应用程序中传递?

或者我可以在每条消息中读入一条streambuf,然后自己传递streambuf吗?

理想情况下,我想要一种简单的方法将单个数据字段解析到消息中,例如使用istream / ostream。

任何建议表示赞赏!

1 个答案:

答案 0 :(得分:1)

通常,您不希望传递缓冲区,您可能希望将内容反序列化为某种形式的内部消息,这种消息更容易传递。您可能需要调查Google的协议缓冲区或提升序列化等内容,以便通过网络发送实际消息。

通常,您希望每个连接使用一个缓冲区,在读处理程序中反序列化消息,并重新使用缓冲区进行下一次读取。