- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 libwebsockets同时运行 websocket 服务器和客户端(实际上在同一个可执行文件中)。有没有办法优雅地关闭连接?
我知道我可以在我的回调函数中返回一个负整数来使连接中止,但这感觉更像是在发生错误时发生的事情。在某个随机博客的一些示例代码中,我发现了对函数 libwebsocket_close_and_free_session
的引用,但它在库代码中不存在(不再存在?)。
理想情况下,我希望能够从回调处理程序中关闭一个不同的连接而不是被调用的连接(即解释一个命令,如“关闭另一个连接”)。
最佳答案
在以前版本的 libwebsockets 中,公共(public) API 具有 libwebsocket_close_and_free_session
函数。
之前的测试代码使用它来关闭连接,例如
if (mirror_lifetime == 0) {
fprintf(stderr, "closing mirror session\n");
libwebsocket_close_and_free_session(context,
wsi_mirror, LWS_CLOSE_STATUS_GOINGAWAY);
但新的测试代码使用了 return -1 方法,所以我认为这是预期的优雅方法
mirror_lifetime--;
if (!mirror_lifetime) {
fprintf(stderr, "closing mirror session\n");
return -1;
}
该函数仍然存在于库代码中,但它现在位于 private-libwebsocket.h
文件中。我不确定您是否可以在您的代码中访问它(或应该访问它)。如果可以的话,这将是您的完美 API,因为您可以关闭其他连接,只要您拥有它们的 struct libwebsocket *wsi
指针即可。
关于c - libwebsockets : How to close connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17403806/
我正在使用libwebsockets-2.1.0具有通用 session 和lwsws选项启用。 在 LWS_CALLBACK_SERVER_WRITEABLE 情况下,我有一些代码可以打开文件,并将
供您引用(因为我在下面提到了库函数),可以在此处找到 libwebsockets 文档:https://github.com/warmcat/libwebsockets/blob/master/lib
我正在让 libwebsocket 客户端发送二进制数据。我已将我的二进制数据保存到缓冲区中 [即buf] 并写入套接字。 n = libwebsocket_write(wsi, &bu
当我尝试从客户端向服务器发送数据时,它显示“lwsts[9972]:从skt读取时出错”。我在互联网上搜索过,没有明确的表达。我按照 LibWebSockets 包中的 test_server.c 示
我目前正在构建一个 WebSocket 服务器,我遇到了以下代码来处理碎片消息(来自 libwebsockets ): case LWS_CALLBACK_RECEIVE: { Client
我正在 Linux 上使用 libwebsocket lib 开发一个简单的 websocket 服务器。 我需要为每个客户端连接的已建立事件发送一个初始化数据包。 如果我使用 memcpy( p,
我正在使用 libwebsockets而且我无法编译自己实现的演示代码。 我创建了上下文: struct libwebsocket_context *context; ... context = li
我正在使用 libwebsockets 2.0,但在尝试使用它作为客户端连接到服务器时遇到了一些问题。 根据 libwebsockets 日志,这是当我相当简单的客户端尝试连接到 echo.webso
我试图找到一个示例来解释如何使用 libwebsocket 实现客户端,但我没有得到任何令人信服的代码。有什么链接可以引用吗? 最佳答案 更正了 Ren-Wei Luo 的代码示例以使用 libweb
我正在尝试运行与 LWS 库一起安装的“libwebsockets-test-server”,但它无法运行,因为“lwsts[31616]: libuv 支持未编译”。 我已经检查过是否安装了 lib
我正在尝试为 X-Plane 编写一个小插件,使用 libwebsocket 创建一个简单的 websocket 服务器。我可以从 Google Chrome 连接到 websocket,但是,当我向
我想创建一个 Web 应用程序,只要 C++ 后端有新内容,一组用户就可以异步接收一些数据。因此,理想情况下,当新用户到来时,他将被添加到订阅者列表中,并且每当 C++ 后端有该组的新数据时,它就会将
这是 libwebsocket_client_connect() 的签名。 struct libwebsocket * libwebsocket_client_connect (struct libw
我正在查看 C websocket 库 libwebsockets 客户端示例。 但是我不明白示例的目的是什么。 Here是这个例子,这个例子有两个连接(在代码 wsi_dumb 和 wsi_mirr
如何在 libwebsockets 回调中设置用户自定义指针? 我在 lws_protocol 中添加了一个指针变量。 调用回调函数时,用户指针始终为NULL。 我使用 libwebsockets v
我正在尝试实现一个 websocket 客户端(使用 C 中的 libwebsockets)。我正在使用 cmake 来控制软件编译过程。 我的问题很简单:如何使用 Libwebsockets 启用调
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 6 年前。
我正在尝试使用 libwebsockets 创建一个 C++ websocket 客户端,但由于超时,我无法建立连接。我已经剥离了测试的内容,这是我用来建立连接的内容: 协议(protocol) st
我将 warmcat 的 libwebsocket C 库用于小型 websocket 服务器。我已经启动并运行了这些示例,并且可以发送数据以响应从 websocket 接收的数据(例如回显发送的反向
我正在使用 libwebsockets同时运行 websocket 服务器和客户端(实际上在同一个可执行文件中)。有没有办法优雅地关闭连接? 我知道我可以在我的回调函数中返回一个负整数来使连接中止,但
我是一名优秀的程序员,十分优秀!