Проверки - они бывают разные. Простейший случай: Сообщение (пакеты) текстовые. Заканчивается определённым символом (например, CR) Сообщения принимаются в буфер, при этом ведётся подсчёт CR-ов. Если есть CR-ы, значит имеются целиком принятые сообщения и есть смысл читать их из буфера и разбирать. Это делает фоновая программа.