connect method
void
connect()
Implementation
void connect() {
if (_socket != null) return;
instance = this;
final nonce =
'${DateTime.now().millisecondsSinceEpoch.toRadixString(36)}-flutter';
final socket = io.io(
socketUrl,
io.OptionBuilder()
.setTransports(['websocket'])
.setQuery({
'deviceName': deviceName,
'deviceId': deviceId,
'platform': platform,
'extraDeviceInfo': _jsonEncode(_extraDeviceInfo),
'envVariables': '{}',
'connectionNonce': nonce,
})
.enableReconnection()
.setReconnectionDelay(1000)
.setReconnectionDelayMax(5000)
.build(),
);
_socket = socket;
socket.onConnect((_) {
_setStatus(BuoySyncState.connected);
_sendCapabilities();
_sendLicense();
});
socket.onDisconnect((_) => _setStatus(BuoySyncState.retrying));
socket.onConnectError(
(error) => _setStatus(BuoySyncState.retrying, error?.toString()),
);
socket.on('devtool-watch', (data) => _handleWatch(_asMap(data)));
socket.on('request-devtool-state', (data) => _handleRequest(_asMap(data)));
socket.on('devtool-action', (data) => _handleAction(_asMap(data)));
}