flutter_architecture_samples icon indicating copy to clipboard operation
flutter_architecture_samples copied to clipboard

How to use 'web_socket_channel' in todos_repository_simple

Open jangya opened this issue 6 years ago • 1 comments
trafficstars

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 fileStorage and follows flutter_bloc architecture.

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.

jangya avatar Nov 14 '19 11:11 jangya

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.

mmcc007 avatar Nov 14 '19 19:11 mmcc007