我有一个客户端使用libwebsocket建立到服务器的连接。每当客户端发送请求时,服务器都会发送一个响应,并在收到响应后关闭连接。工作正常。libwebsocket:如果一段时间没有服务器响应(超时),如何断开客户端连接?
但是,当服务器没有回应请求我有问题,客户端一直在等待响应永远。当没有任何事情发生时,回调从不被调用,并且不可能通过回调函数返回-1来关闭连接。
有没有什么办法让连接超时关闭?或者有任何可能性来关闭回调函数之外的连接?
这是到目前为止我的代码:
int callback_function(libwebsocket_context* context, libwebsocket* wsi, enum libwebsocket_callback_reasons reason, void* user, void* in, size_t len) {
switch (reason) {
case LWS_CALLBACK_CLIENT_ESTABLISHED: {
std::cout << “LWS_CALLBACK_CLIENT_ESTABLISHED” << std::endl;
libwebsocket_callback_on_writable(context, wsi);
}
break;
case LWS_CALLBACK_CLOSED:{
std::cout << “LWS_CALLBACK_CLOSED” << std::endl;
}
break;
case LWS_CALLBACK_CLIENT_R