找到了!libwebsockets 允许您向所有连接的用户广播到特定协议,使用该协议的回调函数将处理libwebsocket_callback_on_writable_all_protocol(*protocol)
触发器,并且我们可以发送数据。LWS_CALLBACK_SERVER_WRITEABLE
libwebsocket_callback_on_writable_all_protocol(protocols + 1)
所以,通常情况下,每当我有一些数据要在我的代码的任何部分使用协议的回调函数和在协议的回调函数中广播时,我都会使用我的第二个协议(非 http协议)
static int callback_linux_shell(struct libwebsocket_context * context, struct libwebsocket *wsi, enum libwebsocket_callback_reasons reason, void *user, void *in, size_t len) {
switch (reason) {
...
case LWS_CALLBACK_SERVER_WRITEABLE:
libwebsocket_write(wsi, my_data, my_data_size, LWS_WRITE_TEXT);
break;
...
}
}