Last post Jul 18, 2013 01:11 PM by davidfowl
Jul 17, 2013 04:06 PM|stigstig|LINK
I have a setup where the IIS process pushes messages to the web clients connected (only a few). I have to guarantee that every message reaches the clients within 5 seconds or else the client should show a warning. The load is very little (a couple of messages
every minute) so there will not be performance issues. Can such requirments be satisfied with SignalR?
I'm worried about network failures and slow connection, that could result in lost messages and slow delivery times.
Edit: I guess reliable messaging could be handled with a sequential message ID. Better ideas? But how do i satisfy delivery time?
Jul 18, 2013 05:42 AM|davidfowl|LINK
Nope, don't use SignalR, we don't gurantee anything. If you want ensured delivery, store every message in the database and keep a cursor/id on each client. If the SignalR connection disconnects, you can do a query (to your database) for all messages sent
since your cursor. Or use a reliable messaging system (Msmq, service bus, something other than signalr)
Jul 18, 2013 10:18 AM|stigstig|LINK
Nope, don't use SignalR, we don't gurantee anything
Say that i choose to use it anyway, how should I implement these requirements?
I could send pulses including a hash of the server state. On the client the distance between the pulses could be used to check delivery time and the hash value could be used to confirm the state. How does this sound?
Jul 18, 2013 01:11 PM|davidfowl|LINK
I wrote that in my last reply:
If you want ensured delivery, store every message in the database and keep a cursor/id on each client. If the SignalR connection disconnects, you can restart the connection and do a query (to your database) for all messages sent since your cursor.