When a client close (or loose) the connection you can use the
IOfflineQueue module. This module will be able to store messages and then send them to the client when the connection is re-established.
This module is also
re-writable so that you can implement a custom module if you want to use MSMQ, RabbitMQ etc instead of the default module.