Вот, если кому интересно.
Была задача сделать "виртуальный" последовательный порт на плате с ARM. На PCке программка использовала, есс-но, сокет-клиент (по-русски говоря, "розетку"), а на ARMе - микроIP, который, по-сути, и есть реализация розетки только на микроконтроллере.
И что интересно, выяснилось, что если посылать пустой пакет (т.е. TCP/IP-пакет без флажка PSH), то та розетка, которой послан этот пакет "подвисает". Т.е. идет ответ пакетом с флажком ACK, но ни одно из событий не срабатывает, кроме Connected. Ни WriteData, не ReadData и т.п. на компе и не newdata, acked и т.д. в микроIP. Самое обидно, что не срабатывает и событие poll. Так что вывести обе розетки из этого состояния можно только принудительным закрытием соединения (Closed или abort) из остальной части программы.
Так что, к сожалению, при использовании микроIP хотя бы один байт всегда посылать нужно и максимальная пропускная способность TCP-соединения снижается до 1459 байт/пакет. Если этот байт критичен, то придется лезть ручками в потроха микроIP. На мой взгляд, овчинка явно выделки не стоит, но на вкус и цвет