已数次断开连接但服务器没有响应,libwebsocket:如果一段时间没有服务器响应(超时),如何断开客户端连接?…

  • Post author:
  • Post category:其他


我有一个客户端使用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