问题标签 [websocket++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
518 浏览

c++ - 比较 connection_hdl (weak_ptr) 是否相等

我需要比较两个websocket++ connection_hdl

我试过这段代码

但编译器抱怨说connection_hdl is not a template

可以修改上面的代码来比较connection_hdls吗?connection_hdls 可以通过使用 owner_less 与容器一起使用,因此根据我的经验,可以使用所有权进行比较是有道理的。

我能找到的唯一其他相关技术是比较weak_ptrs

这似乎接近我的需求,但由于我的经验不足,我无法确定或修改该代码以适应我的意图。

如何比较两个 connection_hdls 是否相等?

这安全吗?

我将第一个代码修改为此

它编译。除了 weak_ptr 空虚警告之外,这是否安全?我的经验不足使我无法准确确定,而我有限的经验告诉我,仅仅因为它可以编译,并不意味着它会按预期工作。

0 投票
1 回答
8334 浏览

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

我需要快速、安全和便携的 websockts,所以我一直在互联网上进行挖掘,我遇到了Zaphoyd Studios的 WebSocket++ 。

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

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

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

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

所以......我的问题; -

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

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

PS 感谢作者,如果他们读过这篇文章,这似乎是一个非常完整的实现!

0 投票
1 回答
1474 浏览

c++ - IP地址v4/v6等效测试

是否可以在同时使用 IPv4 和 IPv6 的双栈环境中测试 IP 地址的等效性?如果是这样,怎么做?

我的应用程序在 Boost ASIO 之上使用websocket++ 。

例如,在我的 LAN 上,一个应用程序连接到另一个正在侦听的应用程序192.168.1.2,但使用此答案的 IP 地址获取器

给出::ffff:192.168.1.3作为客户的地址。

问题是.2它将有自己的节点列表和原始 v4 地址,因此通过简单的字符串比较上面的 getter 与磁盘上保存的 v4 版本,即使已经连接.3,它也会寻找冗余连接。.3

我进一步读到,事情可能会变得更复杂,因为通过这种虚线四边形表示法::ffff:192.0.2.128也是::ffff:c000:0280

我正在构建一个 p2p 应用程序,该应用程序接受来自不受信任来源的地址,因此为了防止冗余连接,我需要能够绝对测试等效性。

我的意图可以实现吗?如果是这样,怎么做?如果没有,我应该只使用 v4 吗?我宁愿现在就包含未来的功能,而不是担心以后的集成。

0 投票
2 回答
4773 浏览

c++ - 使用 Websocketpp 时的控制台输出

我正在调试一些使用 websocketpp 的外国代码。我不断得到相当冗长的控制台输出,尽管一切正常。我可以禁用输出还是至少指向特定的东西?BR,丹尼尔

0 投票
2 回答
979 浏览

c++ - 如何让 WebSocket 服务器在 aws 上运行

我正在开发一个需要实时双向服务器/客户端消息传递的 iOS 应用程序。

我正在尝试使用WebSocket++在 AWS EC2 上开发 WebSocket 服务器应用程序。必须使用 C++,因为这是我在服务器端知道的唯一语言。问题是我是服务器端开发的新手。我有两个非常基本的问题:

1,我是否需要设置像 apache/nginx 这样的 HTTP 服务器才能运行 websocket?也就是websocket app可以单独独立存在吗?

2,我现在已经设置了一个nginx服务器,以防万一,有什么资源可以参考让nginx和websocket一起工作吗?

0 投票
1 回答
282 浏览

boost - 使用 Websocketpp 时 EXE 大小膨胀

我已经构建了一个非常基本的 EXE,它使用 Websocketpp 客户端,它只连接到 Websocket 服务器,并发送和接收消息。我用过VS 2013。

我注意到EXE的大小是巨大的。这就像 2.3 MB 的发布和 6 MB 的调试。

关于如何减小 EXE 大小的任何想法?

0 投票
1 回答
4429 浏览

c++ - 如何实现 websocket++ ping 处理程序?

我正在尝试通过在 websocket++ 应用程序上发送 ping 来检测在未发送关闭帧的情况下关闭的丢失连接。

我在设置处理程序时遇到问题。

我最初尝试设置它,就像使用broadcast_server 示例设置处理程序一样:

这给出了这个错误:

注:候选人是:

websocketpp/endpoint.hpp:240:10: 注意: void websocketpp::endpoint::set_ping_handler(websocketpp::ping_handler) [with connection = websocketpp::connection; 配置 = websocketpp::config::asio_tls_client; websocketpp::ping_handler = std::function, std::basic_string)>]

无效 set_ping_handler(ping_handler h) {

我认为为这个问题设置一个typedeflike可以解决它,但是把它放在外面就无法访问了。class broadcast_serverm_server

如何正确实施此处理程序?

包括和标志

提升 1.54

旗帜

typedef

0 投票
1 回答
6279 浏览

websocket++ - 关闭 websocket++ 连接

在 ASIO 模式下使用 Websocket++ 时,我开始连接:

此模式是从提供的示例中复制的(带有修改)。当用户按下按钮取消 websocket 时,我应该如何正确清理?我目前正在做:

我也应该打电话x->close()吗?我需要在打电话close之前等待stop吗?我需要杀死thread创建的那个,还是会自动停止?我收到了有关当前代码使 websocket 会话处于打开状态的报告。

0 投票
3 回答
7476 浏览

c++ - Websocketpp 简单的HTTP客户端

我使用优秀的websocketpp库在 C++ 应用程序中提供 Websockets(和 HTTP)服务器。我还需要在同一个应用程序中使用 HTTP 客户端来连接到 REST API。我也一直在 websocketpp 中尝试这样做,但到目前为止我收效甚微。以下初步尝试给了我这个日志输出:

这表明我的http_处理程序方法可能需要更多东西。任何意见,将不胜感激。websocketpp 文档和示例似乎不包含简单的 HTTP 客户端。

0 投票
1 回答
188 浏览

websocket++ - 从关闭消息中检索代码/原因

我想从关闭消息中检索代码和原因。我已经用 注册了一个处理程序set_close_handler,但它没有得到有效负载。另外,我发现了一个有效载荷websocketpp::close::extract_codewebsocketpp::close::extract_reason返回相关部分。关闭的有效载荷是否存储在某个地方?中的最后一个代码/原因是否可用connection_ptr