Server will keep trying to send the message.
Each time the client responds with receipt.
Eventually communication succeeds and protocol is done.
The major drawback is requirement of persistent storage on the client.
That's not a drawback - it's an advantage. It enables store-and-forward, i.e. on- and offline use. The client remains functional without a connection to the server.