Я использую socket_io_client для своего проекта флаттера. Он работает нормально, но каждый раз, когда я go возвращаюсь назад и снова к виджету, соединение с сокетом снова срабатывает и печатает n + 1 количество раз. То же самое с отключением. Как мне решить это?
IO.Socket socket;
@override
void initState() {
super.initState();
createSocketConnection();
}
@override
void dispose() {
super.dispose();
socket.disconnect();
}
createSocketConnection() {
socket = IO.io("url", <String, dynamic>{
'transports': ['websocket'],
'autoConnect': false
});
socket.on("connect", (data) {
print("connected");
socket.emit("join", groupId);
});
socket.on("newMessage", (data) {
print(data);
});
socket.on("disconnect", (_) {
print("disconnected");
});
socket.on("close", (_) {
print("closed");
});
socket.connect();
}