flutter_architecture_samples
flutter_architecture_samples copied to clipboard
How to use 'web_socket_channel' in todos_repository_simple
Web socket as data Provider
todos_repository_simple explains nicely about the benefits of using repository as singleton. But no where it's mentioned how to handle the web sockets.
How can I use web socket (webSocket and fileStorage) instead of rest (webClient and fileStorage) ?
Some key points between web socket and rest.
- The name itself signify socket is stateLess and rest is stateFull
- socket is bidirectional : Server can send data to client and client will have a callback to perform accordingly and vice versa.
My dataProvider is
socket and fileStorageand followsflutter_blocarchitecture.
Every time we receive data from socket : Article : reload the UI directly in widget by mapping switch case. Flutter_bloc: need to reload the UI through bloc_state.
Thanks.
Here is an example of using Aqueduct server and a dart client to implement a chat room using sockets:
https://github.com/stablekernel/aqueduct_examples/tree/master/cli_chat_websockets
Can probably adapt this to the todos_repository_simple or your app.
Plus you have dart on both the client and server sides and aqueduct is easy enough to deploy.