Source
Future<Socket> connect(String hostname, int port) async {
_socket = await Socket.connect(hostname, port);
if (_socketListener != null) {
await _socketListener.cancel();
}
_socketListener = _socket
.transform(new PacketTransformer())
.listen(_dispatch, onDone: _onDone);
return _socket;
}