Сейчас я работаю с LWIP + STM32 и теперь пытаюсь получить http GET / POST из браузера. В общем, соединение хорошее, и я получил пакет с приведенным ниже кодом:
if((err = netconn_recv(conn, &inbuf)) == ERR_OK) {
netbuf_first(inbuf);
do{
netbuf_data(inbuf, (void**)&buf, &buflen);
//recieve_buffer=concat(recieve_buffer,buf);
DBGSTR("%d",i);
i++;
}while(netbuf_next(inbuf) >= 0);
}
Но почему-то он не получает весь пакет, цикл do-while всегда выполняется один раз, даже если буфер приема очень большой. Я проверяю wirehark и отправляю тело содержимого. Я предполагаю, что это из-за того, что pbuf недостаточно для выделения. Но кто-нибудь знает, что делать с конфигурацией pbuf.