我使用boost::asio::ssl::stream<boost::asio::ip::tcp::socket>
作为接收套接字。我知道底层套接字有可读字节,我知道有多少。我现在想要使用boost::asio::read
或来自套接字的一些读取函数通过SSL-Socket读取所有可用数据。
我尝试将boost::asio::read
与transfer_all()
一起用作CompletionCondition,但是会阻止直到客户端关闭连接。
我也不能使用transfer_exactly(n)
作为CompletionCondition,因为我不知道我可以从套接字中读取多少未加密的字节。
我可以找出我可以从加密套接字读取多少字节,或者是否有更简单的方法来读取所有可用数据?