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

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

还是可以将每封邮件读入单个streambuf,然后将它们自己传递出去?

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

任何建议表示赞赏!

最佳答案

通常,您不想传递缓冲区,而是希望将内容反序列化为某种形式的内部消息,这种形式的消息更易于传递。您可能想研究一下Google的 Protocol Buffer 或增强序列化等功能,以允许您通过网络发送真实消息。

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

关于c++ - Boost Asio-多个streambuf或每个连接一个?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9102962/

10-11 18:38