You can differentiate between messages as follows:
Each message has an identifier that uniquely identifies the message across all running ttsessions.
You can use the tt_message_user call to include information on a user cell to associate the message to the application's internal state.
Message handles remain the same. For example, Example D-1 tells you whether the message you received is the same as the message you sent.