initWebsocket method
void
initWebsocket(
[ - bool reconnect = true
])
Implementation
void initWebsocket([bool reconnect = true]) {
var socket = WebSocket('$wsUpdateUri?session=$session&format=$format');
_wsConnection = WebSocketConnection(
socket,
this,
enableAck: enableAck,
useCodec: DsCodec.getCodec(format),
);
if (responder != null) {
responder!.connection = _wsConnection!.responderChannel;
}
if (requester != null) {
_wsConnection!.onRequesterReady.then((channel) {
requester!.connection = channel;
if (!_onRequesterReadyCompleter.isCompleted) {
_onRequesterReadyCompleter.complete(requester);
}
});
}
_wsConnection!.onDisconnected.then((connection) {
logger.info('Disconnected');
if (_wsConnection == null) {
// connection is closed
return;
}
if (_wsConnection!._opened) {
_wsDelay = 1;
initWebsocket(false);
} else if (reconnect) {
DsTimer.timerOnceAfter(initWebsocket, _wsDelay * 1000);
if (_wsDelay < 60) _wsDelay++;
} else {
_wsDelay = 5;
DsTimer.timerOnceAfter(initWebsocket, 5000);
}
});
}