问题标签 [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.
c++ - 在 Docker 中连接到 C++ websocketpp 服务器
我正在尝试使用 websocketpp 与用 C++ 编写的服务器建立 websocket连接。当它在我的计算机上运行时,我可以成功地与我的服务器建立连接,但是当它在我的本地计算机上的 Docker 容器中运行时,我无法与同一台服务器连接。
我花了一段时间在网上查找这个问题,似乎主要的痛点是听0.0.0.0
而不是127.0.0.1
,并且使用-p
配置而不是EXPOSE
在 Dockerfile 中。我认为我现在遵循这两条建议,但我仍然无法连接到端点。我很迷茫,所以我想我会在这里询问是否有其他人遇到类似的问题。
我的客户端看起来像这样(仅在浏览器中):
我的服务器如下所示:
我的 Dockerfile 如下所示:
我正在使用以下命令启动容器:
c++ - 检测到 WebSocket #include 错误。请更新您的 includePath
我正在尝试使用 websocketpp 库在 C++ 中处理 WebSocket。我已经在我的系统中克隆了这个库https://github.com/zaphoyd/websocketpp并使用“cmake -G”MinGW Makefiles”构建它。现在是我在这个存储库之外创建的源代码。
正在抛出错误:
尽管此文件在目录中可用。因为我对这条线没有任何问题#include <websocketpp/server.hpp>
。单击选项更多我发现了这个错误
任何人都可以帮助它完成需要做的事情。我在 VS 代码中编辑它并使用 MinGW。这是 properties.json 文件
ssl - TLS 的 WebSocketpp 握手问题
我一直在学习 WebSocket++ 并构建了一些服务器示例(Windows 10 Visual Studio 2019)。非 TLS 示例可以正常工作,但是启用 TLS 的示例 (echo_server_both.cpp
和echo_server_tls.cpp
) 无法进行握手。一般来说,我对 Web 开发非常陌生,所以我知道我在证书和密钥方面一定做错了。
我正在使用 WebSocket King 客户端测试服务器,这是 Google Chrome 的一个扩展,wss://echo.websocket.org
当我不使用 TLS 时,它可以正确连接到其他 websocket 服务器,比如我自己的本地主机。
echo_server_both
示例附带server.pem
文件,示例echo_server_tls
附带server.pem
和dh.pem
。我使用了与示例相同的文件,我还尝试使用 openSSL 生成和注册我自己的 .pem 文件。在这两种情况下,当客户端尝试连接时我都会得到这个:
我在编辑后发现了这些错误handle_init()
,tls.hpp
按照另一个网站的建议,看起来像这样:
此更改让实际的 openSSL 错误显示在控制台中,否则将显示一般的“握手失败”错误。
我知道我没有对证书做我应该做的事情,但我不知道还能去哪里看或下一步该做什么。有人可以帮忙吗?我应该使用示例附带的 .pem 文件,还是应该自己生成?如果我应该生成我自己的,那么正确执行该操作的 openSSL 命令是什么?我如何告诉我的 PC 将它们识别为有效以便服务器工作?
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
. 但是,这将给出以下错误:
nginx - 为 websocketpp 服务器和简单的 web 服务器提供服务的最佳架构是什么?
我已经建立了一个系统,想知道是否有更有效的架构来做到这一点。
- 当客户端连接时,静态文件由Nginx提供。
- 客户端启动一个websocket 连接,该连接通过 Nginx 服务器路由到 Websocketpp 服务器。
- websocketpp服务器向客户端传递websockets(高频、高吞吐量),但它们由Nginx服务器转发以避免跨域请求。
有没有更有效的方法来同时提供 websockets 和静态文件?
- 我主要关心的是性能(CPU、响应时间),特别是通过 Nginx 转发 websocket 的开销成本。
- 目标是在Kubernetes上托管所有内容,因此 Nginx 和 Websocketpp 将位于不同的 pod 上。