答案 0 :(得分:0)
围绕SO和网络的其他答案表明,您不能在后台保持套接字打开(这似乎是合理的,您可以保持开放的网络连接,这可能会影响电池寿命)。根据您的使用情况,您可能更好地查看推送通知或检查计划的内容。
答案 1 :(得分:0)
您可以通过实施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');
},
);
希望有帮助。