websocket请求连接超时没有回调函数吗?

【问题】
在使用 websocket 的过程中,我发现在服务器没有开启的情况下,客户端用 websocket 连接服务器,当然连接不到,但不会触发 onError 函数,客户端就呆在那了,我希望在n秒后关闭连接并弹出提示框。

【测试】
我拿自带的 WebSocketTest做了个测试,将网址瞎填了一个:
if (!_wsiSendText->init(*this, “ws://127.0.0.1:123”))
的确不会触发 onError 函数。

【查文档】
我查了下 libwebsockets 的文档:https://github.com/warmcat/libwebsockets/blob/master/README.coding ,最下面看到

“There’s a 5 second timeout for the connection, and it may give up or die for
other reasons, if any of that happens you’ll get a
LWS_CALLBACK_CLIENT_CONNECTION_ERROR callback on protocol 0 instead for the
wsi.”

【疑问】
是说5秒后连不到就返回error吗?但现在我不知道该怎样才能收到连接超时的回调函数,谁能告诉我在连接不到服务器的情况下如何调用回调函数?

目前临时解决方法是自己写了个定时器,5秒后还没连上就停止连接并弹出提示框。

持续关注楼主的问题。

你也有这个问题啊?

我也有这个问题啊

look at https://github.com/warmcat/libwebsockets/blob/master/test-server/test-client.c

static int
callback_dumb_increment(struct libwebsocket_context *this,
struct libwebsocket *wsi,
enum libwebsocket_callback_reasons reason,
void *user, void *in, size_t len)
{
//…
}