libwebsockets 停止处理以读取传入的数据包

libwebsockets stops processing to read incoming packets

我正在使用 libwebsockets 库构建一个 client/server 协议。在轮询线程中,传入数据包的每个回调都会触发特定方法来保存数据、做出相应响应等。但是,如果有其他传入的数据包会触发 LWS_CALLBACK_CLIENT_RECEIVE,则前一个任务的处理未完成。

有没有办法在处理收到的数据包之前完成任务? LWS_CALLBACK_CLIENT_RECEIVE 是否应该启动新线程来处理数据?

这是多线程的典型案例:一个线程接收数据包,填充缓冲区并返回侦听传入数据包。工作线程将清空缓冲区。