问题标签 [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 回答
78 浏览

c++ - 在 Docker 中连接到 C++ websocketpp 服务器

我正在尝试使用 websocketpp 与用 C++ 编写的服务器建立 websocket连接。当它在我的计算机上运行时,我可以成功地与我的服务器建立连接,但是当它在我的本地计算机上的 Docker 容器中运行时,我无法与同一台服务器连接。

我花了一段时间在网上查找这个问题,似乎主要的痛点是听0.0.0.0而不是127.0.0.1,并且使用-p配置而不是EXPOSE在 Dockerfile 中。我认为我现在遵循这两条建议,但我仍然无法连接到端点。我很迷茫,所以我想我会在这里询问是否有其他人遇到类似的问题。

我的客户端看起来像这样(仅在浏览器中):

我的服务器如下所示:

我的 Dockerfile 如下所示:

我正在使用以下命令启动容器:

0 投票
0 回答
109 浏览

c++ - 检测到 WebSocket #include 错误。请更新您的 includePath

我正在尝试使用 websocketpp 库在 C++ 中处理 WebSocket。我已经在我的系统中克隆了这个库https://github.com/zaphoyd/websocketpp并使用“cmake -G”MinGW Makefiles”构建它。现在是我在这个存储库之外创建的源代码。

正在抛出错误:

尽管此文件在目录中可用。因为我对这条线没有任何问题#include <websocketpp/server.hpp>。单击选项更多我发现了这个错误

任何人都可以帮助它完成需要做的事情。我在 VS 代码中编辑它并使用 MinGW。这是 properties.json 文件

0 投票
1 回答
252 浏览

ssl - TLS 的 WebSocketpp 握手问题

我一直在学习 WebSocket++ 并构建了一些服务器示例(Windows 10 Visual Studio 2019)。非 TLS 示例可以正常工作,但是启用 TLS 的示例 (echo_server_both.cppecho_server_tls.cpp) 无法进行握手。一般来说,我对 Web 开发非常陌生,所以我知道我在证书和密钥方面一定做错了。

我正在使用 WebSocket King 客户端测试服务器,这是 Google Chrome 的一个扩展,wss://echo.websocket.org当我不使用 TLS 时,它可以正确连接到其他 websocket 服务器,比如我自己的本地主机。

echo_server_both示例附带server.pem文件,示例echo_server_tls附带server.pemdh.pem。我使用了与示例相同的文件,我还尝试使用 openSSL 生成和注册我自己的 .pem 文件。在这两种情况下,当客户端尝试连接时我都会得到这个:

我在编辑后发现了这些错误handle_init()tls.hpp按照另一个网站的建议,看起来像这样:

此更改让实际的 openSSL 错误显示在控制台中,否则将显示一般的“握手失败”错误。

我知道我没有对证书做我应该做的事情,但我不知道还能去哪里看或下一步该做什么。有人可以帮忙吗?我应该使用示例附带的 .pem 文件,还是应该自己生成?如果我应该生成我自己的,那么正确执行该操作的 openSSL 命令是什么?我如何告诉我的 PC 将它们识别为有效以便服务器工作?

0 投票
1 回答
153 浏览

c++ - C++ 和 boost 1.71 - 错误:对“_1”的引用不明确

我正在使用库 websocketcpp 和 boost 1.71。该代码用于 boost 1.58,但在升级两个库后,它不会编译。C++编译器为g++(Ubuntu 9.3.0-17ubuntu1~20.04)9.3.0,代码如下:

我使用#define BOOST_BIND_NO_PLACEHOLDERS. 但是,这将给出以下错误:

0 投票
0 回答
13 浏览

nginx - 为 websocketpp 服务器和简单的 web 服务器提供服务的最佳架构是什么?

我已经建立了一个系统,想知道是否有更有效的架构来做到这一点。

  1. 当客户端连接时,静态文件由Nginx提供。
  2. 客户端启动一个websocket 连接,该连接通过 Nginx 服务器路由到 Websocketpp 服务器。
  3. websocketpp服务器向客户端传递websockets(高频、高吞吐量),但它们由Nginx服务器转发以避免跨域请求。

有没有更有效的方法来同时提供 websockets 和静态文件?

  • 我主要关心的是性能(CPU、响应时间),特别是通过 Nginx 转发 websocket 的开销成本。
  • 目标是在Kubernetes上托管所有内容,因此 Nginx 和 Websocketpp 将位于不同的 pod 上。