connect method
Connects to the Gatekeeper server.
Returns a Future that completes with true
if the connection was successful,
or false
if already connected.
Implementation
Future<bool> connect() async {
if (isConnected) return false;
var socket = _socket = await Socket.connect(host, port);
socket.listen(_onData, cancelOnError: true, onDone: _onClose);
return true;
}