connect method
Implementation
Future<bool> connect({bool forceReconnect = false}) async {
// cannot connect to an invalid uri
if (uri == null) {
Log().error('SOCKET:: Uri has not been set. Cannot connect');
return false;
}
try {
// connect to the socket
if (!connected || forceReconnect) {
Log().debug('SOCKET:: Connecting to $url');
lastMessage = null;
// close the old socket
if (_socket != null) await _socket!.sink.close();
// connect
connected = false;
_socket = WebSocketChannel.connect(uri!);
connected = true;
Log().debug('SOCKET:: Connected');
// listen for messages
_socket!.stream.listen(_onData, onError: _onError, onDone: _onDone);
// notify listener of connection
listener.onConnected();
}
} catch (e) {
connected = false;
Log().error('SOCKET:: Error Connecting to $url. Error is $e');
}
return connected;
}