未设置 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 报告中显示为(未设置)/(未设置)

有没有办法区分未设置的属性和设置为未定义的属性? [复制]

无法设置未定义或null引用的属性“onclick”

C# MongoDbDriver - 未设置,无法使其未设置数据库中的字段

PyVmomi 添加带有未连接 dvs 的 NIC('config.distributedVirtualSwitch' 未设置)