Цитата
Буквально на днях сам на этом обжёгся. lwip ожидает ...
lwip ничего не ожидает, это ваше приложение может ожидать, можно сделать и один байт, главное что бы ваше приложение это учитывало и правильно собирало буфер.
Цитата
Как различаете соединения по портам если они все приходят на порт 80 и с одного айпи?
Как вы работаете со стеком я не знаю. Но может быть 3 варианта 1) Работа без ОС, 2) Работа с ОС через netconn интерфейс, 3) работа через сокеты (они тоже на самом деле работают через netconn просто это скрыто от пользователя что бы пользователь мог пользоваться стандартным интерфейсом сокетов)
в общем для первого варианта у вас есть функция
tcp_accept(listen_pcb, callback_accept);
которая устанавливает калбек функцию для нового соединения, у этой функции есть параметр struct tcp_pcb *pcb так вот этот pcb так вот этот pcb будет уникален для каждого соединения, следователь при записи или чтения использую эти pcb будете читать от того или другого клиента.
Для 2 и 3 случая все ток же создается уникальная структур (сокет) для каждого соединения.