Skip to content

Instantly share code, notes, and snippets.

@huynguyennovem
Created August 27, 2024 15:34
Show Gist options
  • Save huynguyennovem/67964008e73cafd07e9fdf9b9fb12749 to your computer and use it in GitHub Desktop.
Save huynguyennovem/67964008e73cafd07e9fdf9b9fb12749 to your computer and use it in GitHub Desktop.
Socket server snippet code
final connectedClients = <WebSocketChannel>[];
return ws.webSocketHandler((WebSocketChannel channel) async {
await channel.ready;
connectedClients.add(channel);
channel.stream.listen((message) {
try {
final receivedMessage = Message.fromJson(json.decode(message));
final updatedMessage = receivedMessage.copyWith(messageState: MessageState.sent);
for (var client in connectedClients) {
final response = json.encode(updatedMessage.toJson());
client.sink.add(response);
}
} catch (e) {}
}, onDone: () => connectedClients.remove(channel)
);
})(request);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment