c - libwebsocket 不在已建立的连接上发送数据包
问题描述
我正在使用libwebsockets
Linux 机器上的库开发一个简单的 websocket 服务器。
我想发送给刚刚连接命令的客户端。
如果我使用lws_write
我会收到一个背靠背错误,如手册中所述。
如果我使用lws_callback_on_writable()
什么都不会发送。
代码如下:
case LWS_CALLBACK_ESTABLISHED:
lwsl_user("LWS_ESTABL\n");
/* add ourselves to the list of live pss held in the vhd */
lws_ll_fwd_insert(pss, pss_list, vhd->pss_list);
pss->wsi = wsi;
pss->last = vhd->current;
// Send init request to client
lwsl_user("Sending init to client ..\n");
vhd->amsg.payload = malloc(LWS_PRE + 4);
char *p= ((char*)vhd->amsg.payload)+LWS_PRE;
memcpy( p, "init", 4);
vhd->amsg.len = 4;
//lws_write(wsi, p, 4, LWS_WRITE_TEXT);
lws_callback_on_writable((*pss).wsi);
break;
任何想法?
解决方案
推荐阅读
- oauth-2.0 - 邮递员在针对 Keycloak 服务器的 OAuth2 流中使用错误(废话?)代码
- google-data-studio - Google 数据洞察:创建排名维度
- java - 为什么人们 gitignore .classpath 和 .project?
- ios - appium 检查器中 IOS 13.3 中的定位器问题?
- qt - QtQuick 或 QtWidget
- jquery - 在 Angular 8 中集成 jQuery 控件
- javascript - Django 不返回带有 dataType 的 ajax 响应:“JSON”
- charts - 在创建 Google Charts DataTable 列后定义其数据类型
- regex - RewriteRule 未捕获反向引用
- amazon-web-services - 如何为 .sh 文件编写 crontab 脚本,将文件从 AWS s3 文件夹复制到我的本地 ec2 文件夹?