C++ 关闭boost::asio::ssl::stream的正确方法是什么
我正在使用C++ 关闭boost::asio::ssl::stream的正确方法是什么,c++,sockets,ssl,boost,boost-asio,C++,Sockets,Ssl,Boost,Boost Asio,我正在使用boost::asio::ssl::stream作为服务器端ssl套接字。有时,我需要关闭与客户端的连接。在答复中说: 对ssl::stream和 它的最底层()。第一个结束SSL连接,第二个结束SSL连接 结束TCP连接 我把它变成了代码: this->_sslSocket.shutdown(); this->_sslSocket.lowest_layer().shutdown(boost::asio::ip::tcp::socket::shutdown_both, sh
boost::asio::ssl::stream
作为服务器端ssl套接字。有时,我需要关闭与客户端的连接。在答复中说:
对ssl::stream
和
它的最底层()。第一个结束SSL连接,第二个结束SSL连接
结束TCP连接
我把它变成了代码:
this->_sslSocket.shutdown();
this->_sslSocket.lowest_layer().shutdown(boost::asio::ip::tcp::socket::shutdown_both, shutdown_error);
this->_sslSocket.lowest_layer().close();
然而,其中一个调用总是产生一个错误:“shutdown:End of file”。我确信客户机不是问题所在,因为我正在使用它调试应用程序,错误仍然会发生
为什么会发生这种情况?我如何避免这种情况?请查看: