问题标签 [libwebsockets]
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 - Libwebsocket 客户端示例
我试图找到一个示例来解释我如何使用 libwebsocket 实现客户端,但我没有得到任何令人信服的代码。有什么链接可以参考吗?
linux - 在centos 7上使用websockets安装mosquitto时出错
我已按照以下步骤操作:
一切顺利,直到安装 mosquitto 的最后一行... sudo make install 这就是控制台显示的内容:
可能是什么问题呢?
c++ - 如何在 Visual C++ 中使用开源 C 库
我试图将 ac 库 libwebsockets(https://github.com/warmcat/libwebsockets)用于我的 c++ 程序。我按照手册进行操作,它创建了一个视觉工作室解决方案,并且可以正常工作。
由于我不习惯在 Windows 7 Visual Studio 环境中开发程序,我不确定库是如何工作的。看起来解决方案包含一些测试代码和核心库。
在 windows7 环境中,使用这个 C 库开发 C++ 项目的最佳方法是什么?
我正在考虑两种方法:
在c++项目上添加c项目
在c项目上添加c++项目
mosquitto - 在 Intel Edison 上构建 Mosquitto 找不到 websockets 库
我已经根据README中的说明成功构建了 libwebsockets 。当我尝试在启用 websockets 的 情况下构建 mosquitto 1.4.2(基于此处找到的说明)时,出现以下错误。
有问题的行是BROKER_LIBS:=$(BROKER_LIBS) -lwebsockets
,在config.mk
。我已经尝试了以下两种方法,并为其提供了.so
文件的完整路径:
我正在研究英特尔爱迪生。
cmake - 设置 CLion 构建和二进制目录
我正在尝试在 CLion 的项目中构建 libwebsockets。在构建过程中,libwebsockets 会创建一个其他文件需要的头文件并将其放在 PROJECT_BINARY_DIR 中。CLion 在它为项目创建的随机构建目录中构建所有内容,并且头文件最终位于该目录中。我试过了:
- 设置 websockets_BINARY_DIR 变量
- 设置 CMAKE_RUNTIME_OUTPUT_DIRECTORY 变量
- 设置 CMAKE_LIBRARY_OUTPUT_DIRECTORY 变量
- 将 CMake 缓存中的每个变量更改为远离 CLion 的随机目录
- 更改 CLion 首选项中的构建输出路径设置
这些都不起作用,这让我想到了我的问题:
- 有没有办法告诉 CLion 在哪里构建(不仅仅是在哪里放置它的一些输出,而是如何覆盖它选择的随机目录)。
- 如果没有办法告诉 CLion 在哪里构建,我应该设置另一个变量吗?
linux - 在另一个线程上更改 pollfd 时 Linux 和 OS X 之间 poll() 的差异
我试图让 libwebsockets 在 OS X 上的多线程环境中运行。我无法触发从与主服务线程不同的线程发送数据。在 libwebsocket 文档中暗示这应该是可能的(演示代码,邮件列表)。所以我深入研究了代码,在 poll() 函数中发现了问题。
似乎 poll() 对struct pollfd
作为参数给出的 that 表现不同。libwebsockets 依赖于在 poll() 处于活动状态时更改 fds.event 字段的可能性。这在 Linux 上运行良好,但不适用于 OS X。
我写了一个小测试程序来演示这种行为:
在 OS X 上使用编译clang++ -std=c++11 -stdlib=libc++ -o poll poll.cpp
,在 Linux 上使用编译g++ -std=c++11 -pthread -o poll poll.cpp
程序开始侦听端口 3490。如果您连接到它(例如使用netcat localhost 3490
),它将轮询主线程上的输入并尝试更改第二个线程中的事件标志。它将在 5 秒后退出。
OS X 上的输出:
Linux 上的输出:
所以我的问题是:是否有任何可用的文档可以解释这种行为?libwebsockets 期望在 poll 处于活动状态时更改 fds.events 是合法的,这是否安全?我在手册页( OS X,Linux)中找不到有关它的任何详细信息。
javascript - 如何在 Windows 机器中为 MQTT(蚊子代理)编译 libwebsockets?
我正在从事混合应用程序开发。我想在我的应用程序中实现 MQTT 服务。我听说 JavaScript 只支持 websocket 协议与 MQTT 代理通信。对于那个 libwebsocket 是必需的,但是,我无法得到任何解释“如何在我的 Windows 7 机器中为 MQTT 编译 libwebsockets”。您能否详细说明在 Windows 机器中使用 libwebsocket 安装 MQTT 的详细方法。
windows - Windows 上 64 个连接后出现 libwebsocket 错误
我在使用 libwebsocket 时看到了奇怪的行为。只要我将同时传入的 websocket 总数保持在 64 以下,它就可以完美运行。
但是,当又有一个传入请求“WSAWaitForMultipleEvents”返回 WSA_WAIT_FAILED 并且 GetLastError 将错误报告为 87。
我的回调只是返回 0。
libwebsockets - libwebsockets libwebsocket_client_connect函数参数
这是签名libwebsocket_client_connect()
这里有人可以解释路径参数是什么意思吗?
在文档中,它写为路径 - 服务器上的 websocket 路径。但我无法理解它的正确含义。
libwebsockets - 在 libwebsockets 下,如何在服务器端接收大于 4096 的消息?
我用 libwebsockets 库创建了一个 websocket 服务器,协议列表是这样的:
};
当我使用“html + javascript + chromium 浏览器”作为客户端发送大于 4096 字节的 websocket 消息时,websocket 服务器将多次收到 LWS_CALLBACK_RECEIVE 回调,一条消息拆分为两条或更多,最大接收大小为 4096 .
如何在服务器端接收无限大小的 websocket 消息?