C++ boost::asio::ssl::context可以在多个ssl流之间共享吗?
在互联网上翻了几个小时,我找不到我问题的答案 我的模型是这样的:我有一个共享的C++ boost::asio::ssl::context可以在多个ssl流之间共享吗?,c++,multithreading,ssl,boost-asio,C++,Multithreading,Ssl,Boost Asio,在互联网上翻了几个小时,我找不到我问题的答案 我的模型是这样的:我有一个共享的boost::asio::ssl::context,用于创建boost::asio::ssl::stream的实例。然后流对象被传递到不同的线程 这个型号是线程安全的吗?相同的boost::asio::ssl::context能否用于构建将同时使用的不同ssl流对象 > ,在将此问题标记为副本之前,请仔细阅读阅读说明。谢谢大家! 在我的特定情况下,没有对象是共享的betweed线程。所以在线程安全中说的任何话都不会
boost::asio::ssl::context
,用于创建boost::asio::ssl::stream
的实例。然后流对象被传递到不同的线程
这个型号是线程安全的吗?相同的boost::asio::ssl::context
能否用于构建将同时使用的不同ssl流对象
<强> > <强>,在将此问题标记为副本之前,请仔细阅读阅读说明。谢谢大家!
在我的特定情况下,没有对象是共享的betweed线程。所以在线程安全中说的任何话都不会影响我的案例。我从单个线程访问
boost::asio::ssl::context
。因为ssl上下文需要在ssl会话之间共享(否则,会话恢复将如何工作),ssl上下文类在内部是完全线程安全的。您可以在多个SSL连接中使用SSL上下文,也可以在多个线程中使用SSL上下文。但是不要忘记正确初始化libssl!非常感谢你的帮助!这是我需要的一个断言。直觉上,我认为这应该是可能的,而且是可行的。但当某些东西工作时,并不意味着它是正确的,可能会在另一台机器上出现故障。@RichardHodges我认为boost
应该在内部初始化其SSL后端。就我所知,它是这样做的。@GreenScape其他人都是这样做的。“真的没有别的办法了。”格林斯开普只是看了看来源。你说得对。openssl是在asio::ssl::context\u服务的第一个实例上初始化的