我有ssl-server和ssl-client。它与Boost ssl示例几乎相同。
现在,
服务器打开(监听)然后客户端加入并将数据发送到服务器。
发送数据时
使用socket_.lowest_layer().close();
我希望将此更改为半关闭:发送关闭,读取打开
客户端应在半关闭前发送boost::asio::error::eof
。
然后服务器捕获boost::asio::error::eof
并从服务器关闭套接字。
还有什么好事吗?和提升有一半关闭?
答案 0 :(得分:1)
TCP半关闭(输出关闭)不能与SSL一起使用。 SSL发送close_notify
,以便检测截断攻击,并在逻辑上关闭两个方向的SSL连接。如果您只是自己关闭底层TCP套接字,SSL会认为是截断攻击并使SSL连接无法使用。
我不明白为什么要改变你所描述的内容。 SSL已基本上使用close_notify
。