connectToDeviceServer method
Future<void>
connectToDeviceServer(
)
Implementation
Future<void> connectToDeviceServer() async {
try {
// if (_channel.closeCode == null) {
// await _channel.sink.close();
// }
String deviceUrl = "ws://$SERVER_ADDR_PORT/ws/devices";
String params = _buildDeviceParams();
deviceUrl += params;
_channel = WebSocketChannel.connect(Uri.parse(deviceUrl));
_channel.stream.listen(
(message) => _handleDeviceMessage(message),
onError: (error) {
onServerDisconnect?.call(0, error.toString());
// Future.delayed(const Duration(seconds: 3), connectToDeviceServer);
},
onDone: () {
onServerDisconnect?.call(0, "Connection closed");
// Future.delayed(const Duration(seconds: 3), connectToDeviceServer);
},
);
} catch (e) {
onServerDisconnect?.call(0, e.toString());
Future.delayed(const Duration(seconds: 3), connectToDeviceServer);
}
}