我希望使用boost asio在TCP/IP协议栈上实现一个协议。协议-PDU的长度包含在其前6个字节中。现在,使用asio提供的同步读取方法,我可以精确地读取前6个字节,计算长度n,然后读取n个字节以获取整个PDU。
虽然我更愿意使用异步方法,但是研究asio文档中的example后,我有一个问题。作者使用套接字成员函数async_read_some(),它从套接字中读取一个(对我来说似乎是)不确定数量的数据。 我如何应用第一段描述的“两步”过程以接收完整的PDU?或者,是否有其他建议解决我的问题的方法?
虽然我更愿意使用异步方法,但是研究asio文档中的example后,我有一个问题。作者使用套接字成员函数async_read_some(),它从套接字中读取一个(对我来说似乎是)不确定数量的数据。 我如何应用第一段描述的“两步”过程以接收完整的PDU?或者,是否有其他建议解决我的问题的方法?