gpt4 book ai didi

C websocket 库,libwebsockets

转载 作者:太空宇宙 更新时间:2023-11-04 04:40:27 26 4
gpt4 key购买 nike

我正在查看 C websocket 库 libwebsockets 客户端示例。

但是我不明白示例的目的是什么。

Here是这个例子,这个例子有两个连接(在代码 wsi_dumbwsi_mirror 中)我认为它们是相同的,我不知道第二个连接的目的是什么。

使用第一个连接(在代码 wsi_dumb 中),它似乎使用 libwebsocket_service() 等待来自服务器的请求,然后......第二个连接(在代码 wsi_mirror)?

下面是我所说的部分代码。

wsi_dumb = libwebsocket_client_connect(context, address, port, use_ssl,
"/", argv[optind], argv[optind],
protocols[PROTOCOL_DUMB_INCREMENT].name, ietf_version);

/*
* sit there servicing the websocket context to handle incoming
* packets, and drawing random circles on the mirror protocol websocket
*/

n = 0;
while (n >= 0 && !was_closed) {
n = libwebsocket_service(context, 1000);

if (wsi_mirror == NULL) {

/* create a client websocket using mirror protocol */

wsi_mirror = libwebsocket_client_connect(context, address, port,
use_ssl, "/", argv[optind], argv[optind],
protocols[PROTOCOL_LWS_MIRROR].name, ietf_version);

mirror_lifetime = 10 + (random() & 1023);

fprintf(stderr, "opened mirror connection with %d lifetime\n", mirror_lifetime);

} else {

mirror_lifetime--;
if (mirror_lifetime == 0) {
fprintf(stderr, "closing mirror session\n");
libwebsocket_close_and_free_session(context,
wsi_mirror, LWS_CLOSE_STATUS_GOINGAWAY);

/*
* wsi_mirror will get set to NULL in
* callback when close completes
*/
}
}
}

最佳答案

我可能会把它搞混,但在 libwebsockets 中有一个示例,您只需打开第二个浏览器(窗口或选项卡),然后就会看到您在第一个浏览器中绘制的所有线条和圆圈的镜像和发送到第二个浏览器。

关于C websocket 库,libwebsockets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27062377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com