connect method
Connect the socket if not already done or disconnected
Implementation
@override
Future<bool> connect() async {
if (isConnected) {
return true;
}
ModbusAppLogger.fine("Connecting TCP socket...");
// New connection
try {
_socket = await Socket.connect(serverAddress, serverPort,
timeout: connectionTimeout);
// listen to the received data event stream
_socket!.listen((Uint8List data) {
_onSocketData(data);
},
onError: (error) => _onSocketError(error),
onDone: () => disconnect(),
cancelOnError: true);
} catch (ex) {
ModbusAppLogger.warning(
"Connection to $serverAddress:$serverPort failed!", ex);
_socket = null;
return false;
}
// Is a delay requested?
if (delayAfterConnect != null) {
await Future.delayed(delayAfterConnect!);
}
ModbusAppLogger.fine("TCP socket connected");
return true;
}