startListeningToSocket method
void
startListeningToSocket(
- String url
)
Implementation
void startListeningToSocket(String url) {
webSockets[url]!.stream.asBroadcastStream().listen((message) {
_handleIncommingMessage(message, url);
}
, onError: (error) async {
/// todo: handle this better, should clean subscription stuff
relays[url]!.stats.connectionErrors++;
print("onError $url on listen $error");
throw Exception("Error in socket");
}, onDone: () {
if (allowReconnectRelays) {
print("onDone $url on listen (close: ${webSockets[url]!.closeCode} ${webSockets[url]!.closeReason}), trying to reconnect");
if (isWebSocketOpen(url)) {
print("closing $url webSocket");
webSockets[url]!.sink.close();
print("closed $url. Reconnecting");
reconnectRelay(url);
} else {
reconnectRelay(url);
}
}
/// todo: handle this better, should clean subscription stuff
});
// webSockets[url]!.incomingMessagesStream.listen((message) {
// _handleIncommingMessage(message, url);
// }
// , onError: (error) async {
// /// todo: handle this better, should clean subscription stuff
// print("onError $url on listen $error");
// throw Exception("Error in socket");
// }, onDone: () {
// print("onDone $url on listen, trying to reconnect");
// relays[url]!.stats.connectionErrors++;
// if (isWebSocketOpen(url)) {
// print("closing $url webSocket");
// webSockets[url]!.close();
// print("closed $url. Reconnecting");
// reconnectRelay(url);
// } else {
// reconnectRelay(url);
// }
// /// todo: handle this better, should clean subscription stuff
// });
}