首页 > 解决方案 > libwebsocket 不在已建立的连接上发送数据包

问题描述

我正在使用libwebsocketsLinux 机器上的库开发一个简单的 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;

任何想法?

标签: clinuxlibwebsockets

解决方案


推荐阅读