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