我正在尝试优化具有混合模式协议的应用层协议(用于元信息,握手,确认等的线路协议和用于数据的二进制)。在客户端等待ACK的状态下,我做
async_read_until(socket, buffer, untill_crlf_maxbytes_1024_match_condition, handler);
根据记录的here async_read_until实现untill_crlf_maxbytes_1024_match_condition
的位置。
这里的想法是读取直到CR + LF,但等待只读取1024个字节,这样如果有任何怪异的事情继续发生,如果套接字得到一些垃圾,它就不会继续读取。
我的问题是,在这种情况下从untill_crlf_maxbytes_1024_match_condition
提出错误是个好主意吗?如何在该场景中引发错误?如果不是最好的选择?
答案 0 :(得分:0)
您可以针对所有情况(包括错误)从true
返回match condition
。只检查handler