From the docs it is clear that message delivery is not guaranteed by django-channels. I want to implement a way in my chat app so that there is a guarantee that messages are delivered to the client.
I am using redis, if that matter. When I say messages I don't mean chat text messages. I haven't implemented that part and don't need that for now. I just have video call feature. What gets lost sometimes is when users join the room the room members list doesn't reach them. So I want to do something like:
- Client connects.
- Servers creates a record of the event in step 3 below.
- Server sends the list of room members event to the client.
- Client process and acknowledges the list.
- Server on receiving the acknowledgment from the client marks the list sent event as SUCCESS or something.
My questions are.
- Is this approach good?
- And should I use a new model to store the message events so that server can know which messages to sent and which have been already sent successfully or is there anyway to do it in redis db?
I am new to this so I maybe overlooking something that you as experienced guys know of. Please guide me with your precious inputs.
Thanks