gpt4 book ai didi

c++ - Zaphoyd websocketpp 和 wss (TLS) 客户端示例

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:29:28 25 4
gpt4 key购买 nike

我需要快速、安全和便携的 websockts,所以我一直在网上搜索,我通过 Zaphoyd Studios 发现了 WebSocket++ .

我的 C++ 经验为零(尽管我是一名熟练的程序员),但它似乎符合我需要的每个方框,我很快就在 github 上调整了 echo_server 和 telemetry_client 示例。并将概念证明放在一起。

将我的手放在 wss 服务器示例 (echo_server_tls) 上,我快速编译并使用一个简单的测试客户端来验证它是否正常工作。

不幸的是,我的经验不足让我失望了,我天真地希望将 url 更改为 wss 并包含启用 tls 的客户端 header (asio_client.hpp 而不是 asio_no_tls_client.hpp)会让我朝着正确的方向前进!

它没有,而是给出了错误;-

[2014-05-29 01:17:58] [application] Get Connection Error: endpoint not secure

那么……我的问题;-

有没有人有一个“echo_client_tls”示例,因为它可以让我朝着正确的方向前进,我非常怀疑我是第一个这样做的人(尽管可能只是对 c++ 最没有经验的人)。

我确定我可以从那里拿走它(我什至会把它提交回 git,因为它可能对其他菜鸟有用,比如我自己)。

附言感谢作者阅读此内容,这似乎是一个非常完整的实现!

最佳答案

除了包含启用 tls 的客户端 header 之外,客户端还需要为 tls_init 提供处理程序。您可以通过添加以下处理程序来修改现有客户端示例之一以支持 tls。

_client.set_tls_init_handler([this](websocketpp::connection_hdl){
return websocketpp::lib::make_shared<boost::asio::ssl::context>(boost::asio::ssl::context::tlsv1);
});

关于c++ - Zaphoyd websocketpp 和 wss (TLS) 客户端示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23924408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com