To do what you want, you will need to incorporate a message queue and update method.
Can you do it the way you have presented? Sure, but it's going to be a major pain and there's no way to do this with cin.
Simply have a message queue on both sides, a current status of each client(able_to_receive_messages, unable, etc), and an update method that is called by each client is run after the user is once again able to receive messages.