Flutter)我想在socket断开时自动重新连接
Posted
技术标签:
【中文标题】Flutter)我想在socket断开时自动重新连接【英文标题】:Flutter) I want to automatically reconnect when the socket is disconnected 【发布时间】:2021-02-25 02:09:52 【问题描述】:我正在构建一个 Flutter 应用。套接字通信是通过“web_socket_channel”包实现的。我想实现下面的两个功能。
套接字断线检测 检测到套接字断开时自动重新连接尝试很遗憾,“web_socket_channel”包不提供这些功能。 你能给我一些关于如何实现它的建议吗?
【问题讨论】:
没有重新连接 TCP 套接字这样的事情。您必须关闭它并创建一个新的。 【参考方案1】:你可以这样做
createSocket()
IOWebSocketChannel channel;
try
channel = IOWebSocketChannel.connect('ws://...');
channel.stream.listen((data) async
//Do something here
).onDone(()
print("Socket Done");
createSocket();
);
catch (ex)
print("SOCKET ERROR");
print(ex);
createSocket();
【讨论】:
不要使用递归作为一种迭代形式。以上是关于Flutter)我想在socket断开时自动重新连接的主要内容,如果未能解决你的问题,请参考以下文章
web3.js socket心跳重连,WebsocketProvider
Flutter Firebase 消息传递 - 应用打开时未显示推送通知