标签: uwebsockets

在 uWebSockets.js 和 Websocket-Sharp 中使用 websocket 压缩

我们有一个使用 websocket 进行连接的手机游戏。服务器是使用uWebSockets.js库的 Node.js 应用程序,客户端是使用Websocket-Sharp库的 Unity 应用程序。他们俩一起打得很好,我们没有遇到任何问题。

最近我们想启用websocket 压缩。两个库都表示它们支持按消息压缩扩展,但似乎有一些与它们不兼容的东西。因为当我们配置为使用压缩时,websocket 连接会在握手时立即关闭。

我们还使用ws库测试了客户端,并提供了具有相同结果的压缩示例。我们尝试修改 ws 压缩选项,发现当我们评论 serverMaxWindowBits 选项(默认为协商值)时,可以建立连接并且发送和接收消息没有问题。我们还询问了如何控制 uWebsockets 中的 serverMaxWindowBits。

我们尝试的最后一件事是连接一个最小的 uWS 服务器和 websocket-sharp 客户端。这是服务器的代码:

const uWS = require('uWebSockets.js');
const port = 5001;

const app = uWS.App({
    }).ws('/*', {
        /* Options */
        compression: 1, // Setting shared compression method
        maxPayloadLength: 4 * 1024,
        idleTimeout: 1000,
        /* Handlers */
        open: (ws, req) => {
            console.log('A WebSocket connected via URL: ' + req.getUrl() + …
Run Code Online (Sandbox Code Playgroud)

unity-game-engine websocket node.js websocket-sharp uwebsockets

11
推荐指数
1
解决办法
2638
查看次数

uWebSockets 客户端

我主要使用 C++,想要为项目实现服务器-客户端通信。虽然不太精通分布式计算,但我尝试过各种工具组合,例如 SocketIO 服务器(JS 中)+ C++ 客户端库或 IXWebSocket。我也不想在 Boost.Asio 中从头开始实现所有内容。

据我所知,uWebSockets是 C++ 中性能最高且符合标准的解决方案。问题是只有一个服务器库可用。我知道“任何”兼容的 Web 套接字实现都能够与 uWebSockets 服务器一起使用,但是:

  • 有规范的方法吗?在这种情况下,人们作为客户端使用什么?我看到该仓库有大约 12k 颗星,所以这一定非常简单。我再次想使用C++ 客户端,而不是 JS 中的浏览器实现。
  • 如果定制解决方案合适,我应该如何去做?

c++ client-server uwebsockets

6
推荐指数
0
解决办法
1892
查看次数

如何从除 laravel-echo 之外的其他客户端连接到 laravel soketi?

我正在使用 laravel soketi 包。我不想使用 laravel-echo 进行客户端连接。所以,我正在用 firecamp 进行测试。但无法连接。

Soketi 已启动并运行

  Server is up and running!
    The Websockets server is available at 127.0.0.1:6001
    The HTTP API server is available at http://127.0.0.1:6001
    The /usage endpoint is available on port 9601.
Run Code Online (Sandbox Code Playgroud)

在 firecamp 中连接时我使用 url asws://localhost:6001/ 但无法连接。 在此输入图像描述

那么,如何连接呢?

laravel uwebsockets laravel-websockets

5
推荐指数
0
解决办法
463
查看次数

如何修复 OSX 中的“致命错误:找不到‘sys/epoll.h’文件”?

由于本指南,我试图在 MacOs Xcode 中链接 uWebSocket https://medium.com/@tabvn/c-how-to-linking-uwebsocket-in-macos-xcode-9-ef3ffea880e4但是,当我尝试安装时uWebSocket,我收到错误 EpollEvent.h not found!有人能帮我解决这个问题吗?

c c++ macos openssl uwebsockets

3
推荐指数
1
解决办法
9937
查看次数

eclipse cpp ide 中的 uWebSockets 未定义引用

我是 C++ 新手,我错过了很多关于它的知识。大多数情况下,我都是通过尝试和错误来完成工作的。但现在我坚持使用uWebSockets为 websocket 服务器设置一个测试项目。不幸的是,没有可用的安装文档,并且它不能作为 C 库提供。

我克隆了 repo 递归(因为有子模块uSockets)并执行了makemake install。到目前为止一切顺利,没有错误。

我尝试在 eclipse 中创建一个新的托管 C++ 项目,并添加一个main.cpp包含该文件src/内容的文件

我将“包含路径”设置为/usr/local/include /root/uWebSockets/uSockets/src/usr/local/include/uWebSockets

我还将编译器方言设置为版本 c++17 (因为这是 uWebSockets 所必需的)

现在我在构建过程中遇到了很多错误,但我不知道如何解决它们:

13:58:48 **** Incremental Build of configuration Debug for project websocket-test ****
make all 
Building file: ../src/main.cpp
Invoking: GCC C++ Compiler
g++ -std=c++17 -I/usr/local/include -I/root/uWebSockets/uSockets/src -I/usr/local/include/uWebSockets -O0 -g3 -Wall -Wconversion -c -fmessage-length=0 -pthread -MMD -MP -MF"src/main.d" -MT"src/main.o" -o "src/main.o" "../src/main.cpp"
Finished …
Run Code Online (Sandbox Code Playgroud)

c++ c++17 uwebsockets

2
推荐指数
1
解决办法
1392
查看次数

将 uWebSockets 集成到 CMake 项目中

我想在我自己的使用 CMake 的项目中使用uWebSockets 。

对我来说有两个问题:

  1. uWebSocket 使用 Make 以及我认为它自己的构建系统/文件build.c
  2. 它本身依赖于其他库,其中一些使用 CMake,另一些则使用 Make。

如果我能让它与 CMake 一起工作,即使没有反映项目的所有可能性,我也会很高兴,例如构建示例或链接可选依赖项,如uSockets的 boost asio (其依赖项之一)。

是否可以通过 CMake 的 FetchContent 获取库?请注意,uWebSockets 将其依赖项 uSocket 设置为 git 子模块。

与其在 CMake 中重写整个 Makefile,而只是从 CMake 中调用 make,这是否有意义?

关于柯南:它抛出一个错误,我也不确定如何修复(在 Linux 上找不到 MSBuild python 包?):

ERROR: Package 'usockets/0.8.5' not resolved: usockets/0.8.5: Cannot load recipe.
Error loading conanfile at '/home/<USER>/.conan2/p/usock995f8272b80d4/e/conanfile.py': Unable to load conanfile in /home/<USER>/.conan2/p/usock995f8272b80d4/e/conanfile.py
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed …
Run Code Online (Sandbox Code Playgroud)

c++ makefile cmake conan uwebsockets

2
推荐指数
1
解决办法
1035
查看次数