Nic*_*ela 5 websocket dart flutter
在 Flutter 中,我想监听 websocket 断开连接事件,如何实现? 当应用程序进入后台时,websocket 连接将被删除,我仍然没有找到让它在后台继续运行的方法(有没有人有解决方案?),所以我必须检测 websocket 连接是否丢失或什么的,以便我失去连接时可以重新连接。如果有人知道如何实现这一点,请帮忙。
Ang*_*rov 12
您可以通过实现onDone回调来确定 websocket 是否关闭。请参阅下面的示例:
_channel = IOWebSocketChannel.connect(
'ws://yourserver.com:port',
);
///
/// Start listening to new notifications / messages
///
_channel.stream.listen(
(dynamic message) {
debugPrint('message $message');
},
onDone: () {
debugPrint('ws channel closed');
},
onError: (error) {
debugPrint('ws error $error');
},
);
Run Code Online (Sandbox Code Playgroud)
希望有帮助。
关于 SO 和网络的其他答案表明,您不能只在后台保持套接字打开(这似乎合理,您会保持打开的网络连接,这可能会影响电池寿命)。根据您的用例,您可能最好查看推送通知或按计划检查的内容。
| 归档时间: |
|
| 查看次数: |
6160 次 |
| 最近记录: |