sendMessage method
Sends a message through the WebSocket
Implementation
@override
Future<void> sendMessage(WebSocketMessage message) async {
if (_channel == null || _currentState != WebSocketState.connected) {
throw StateError('WebSocket is not connected');
}
try {
dynamic dataToSend = message.data;
// Handle JSON serialization
if (message.type == 'json' && message.data is Map) {
dataToSend = jsonEncode(message.data);
}
_channel!.sink.add(dataToSend);
} catch (error) {
_errorController.add(error);
rethrow;
}
}