send method
Sends a message through the WebSocket connection.
Implementation
Future<bool> send(WebSocketMessage message) async {
if (!isConnected) {
throw WebSocketException.messageSendFailed('Connection not established');
}
try {
if (message.isText) {
_channel!.sink.add(message.data as String);
} else if (message.isBinary) {
_channel!.sink.add(message.data as List<int>);
} else if (message.isJson) {
_channel!.sink.add(message.data.toString());
} else {
_channel!.sink.add(message.data.toString());
}
_lastMessageTime = DateTime.now();
_eventController.add(WebSocketEvent.messageSent(message));
return true;
} catch (e) {
throw WebSocketException.messageSendFailed('Failed to send message: $e');
}
}