Boost asio-多个streambufs或每个连接一个
Boost asio - multiple streambufs or one per connection?
我使用Boost asio发送和接收帧TCP消息。有人知道使用streambuf的正确方法吗?
我应该为每个连接接收一个streambuf,并解析消息以在应用程序中传递吗?
或者,我可以为每条消息读取一条streambuf,并将streambuf本身传递给其他人吗?
理想情况下,我想要一种简单的方法来解析消息中的各个数据字段,例如使用istream/ostream。
非常感谢您的建议!
通常,您不想传递缓冲区,而是希望将内容反序列化为某种形式的内部消息,这样更容易传递。你可能想研究一些东西,比如谷歌的协议缓冲区或增强序列化等,让你可以通过网络发送真实的消息。
通常,您希望每个连接使用一个缓冲区,在读取处理程序中反序列化消息,并在下次读取时重用该缓冲区。
相关文章:
- 如何在qt中将信号和插槽与另一个对象连接 --解决了
- Qt将信号与另一个类方法连接
- 在 C++20 中将多个范围适配器连接到一个范围中
- 如何在使用 getch 后在另一个字符串的末尾连接一个字符串
- 在线程 A 中创建一个 std::thread 对象,在线程 B 中连接
- 为什么我们应该为网络连接指定一个端口?
- 为什么一个表达式中的 std::string 连接给出的结果与逐个字符不同的结果?
- Qt的新信号/时隙语法问题 - 连接到一个简单的函数
- 将 int 转换为字符串,然后连接另一个变量以创建完整扩展名,然后将其转换为 const_char*
- 一个 ui 成员的 Qt 连接和同一连接中的两个信号
- 将文本和二进制数据连接到一个文件中
- 我正在编写一个简单的客户端套接字应用程序,但在连接后服务器收到一个空缓冲区
- 如何将X 2维数组连接到一个三维阵列中
- 如何将多个字符连接成一个整数
- 当试图在ostringstream中连接一个字符串时,这些字符串的内容会被修改和重构,字符串会在开始时被添加
- 除了字符串流,还有其他方法吗?连接一个由多种类型的变量组成的字符串
- Boost asio-多个streambufs或每个连接一个
- 我需要连接一个unsigned char数组的两个元素并保持它为unsigned char
- Qt代码不编译时,我试图连接一个信号到插槽
- 连接一个char 2D数组元素和c++中的int