未设置 set_tls_init_handler 时 websocketpp 如何处理连接?
Posted
技术标签:
【中文标题】未设置 set_tls_init_handler 时 websocketpp 如何处理连接?【英文标题】:how does websocketpp handle connections when set_tls_init_handler is not set? 【发布时间】:2020-04-30 18:08:30 【问题描述】:我看到我必须定义一个on_tls_init
并让set_tls_init_handler
指向这个on_tls_init
以实现安全连接。未设置 set_tls_init_handler
时会发生什么? webscoketpp 是否通过ws://
而不是wss://
进行连接,或者连接是否断开?
【问题讨论】:
【参考方案1】:WebSocket++ 的传输安全行为基于端点使用的配置。如果您的端点被配置为安全的,即使用配置,如 websocketpp::config::asio
,其传输套接字类型执行 TLS 加密,则不定义 tls init 处理程序(或不从它返回有效的 TLS 上下文)将导致连接失败并显示invalid_tls_context
错误。
如果您想要普通/未加密/“ws://”连接,您应该使用不执行 TLS 加密的端点配置(例如 websocketpp::config::asio_no_tls
)。使用该配置编译的端点将忽略 tls 处理程序。
【讨论】:
以上是关于未设置 set_tls_init_handler 时 websocketpp 如何处理连接?的主要内容,如果未能解决你的问题,请参考以下文章
Azure Data Studio:未找到新安装扩展的设置/未出现在设置中
google / cpc 会话在 Google Analytics(分析)的 Source / Medium 报告中显示为(未设置)/(未设置)
C# MongoDbDriver - 未设置,无法使其未设置数据库中的字段
PyVmomi 添加带有未连接 dvs 的 NIC('config.distributedVirtualSwitch' 未设置)