java - Android Websocket 客户端超时时间过长

标签 java android websocket

大家好,我必须创建一个应用程序,它需要尽可能多地与 websocket 服务器保持连接以监听事件。由于它是一款安全应用程序,因此无需担心电池和 radio 使用等资源。

我正在使用符合 Draft_17 规范的标准 org.java_websocket。该应用程序能够使用 websockets 进行通信。问题是当手机失去与服务器的连接时。在使用代码 1006 调用 onClose() 回调之前,websocket 需要几分钟才能意识到它已断开连接。我需要尽可能地减少这段时间。在 Android 上使用 HTTP 客户端时,这不是问题,我们只需设置套接字超时即可。但是使用 org.java_websocket 我无法弄清楚如何设置此超时。

我不断地从服务器发送/接收数据。发送不会以任何方式加速套接字超时。

WebSocket 构造函数上有一个连接超时参数。

return new WebSocketClient(hostURI, new Draft_17(), null, 5000)

但它没有任何效果,因为我认为这只是在最初尝试连接到服务器时。

任何帮助或指导将不胜感激

最佳答案

如果查看WebSocketClient源码,会提示timeout参数未被使用

关于java - Android Websocket 客户端超时时间过长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36457879/

相关文章:

java - 未找到 sun.security.ssl.SSLSessionImpl

android - 防止按钮在 Android 上隐藏软键盘

android - Youtube 视频在移动绕过时被屏蔽

javascript - 无法与 websocket 通信。高速公路 : received HELLO message, 且 session 尚未建立

c# - 单例对象的实例成员或类的静态成员

java - 获取for循环android内部多个位置的天气状态

java - 无法识别分割字符

java - 如何在网络中断时继续在 websockets 中发送消息?

java - Android UI 元素的可见性没有改变

android - 当后台 "sleeping"应用程序过多时,Android 操作系统会发生什么情况?