Muhamed Fauzi Bin Abbas wrote:
> Hi,
> 
> I checked and confirmed that I am using the tcp_write and tcp_sent. By
> the way, I am using the socket API.

That doesn't make sense. tcp_write and tcp_sent are the lwIP raw API, not
the socket API.

If you do mean you are using the raw API and are calling tcp_write, then
you should not call it with more than 64k data.

Have a look at the start of do_writemore() in src/api/api_msg.c to see how
the netconn API does it for example - it limits it to 64k at a time as the
max size is constrained by a u16_t.

> Anything else I can look at? Is
> there a variable that sets a 64K buffer?

In the core of lwIP, the write size is a 16-bit type, i.e. unavoidably
limited to 64k. That doesn't mean you can't send more than 64k at all -
just not in a single write. If using the raw API, you should not be trying
to send more than the TCP send buffer space anyway (as returned by
tcp_sndbuf(pcb)).

Jifl
-- 
eCosCentric Limited      http://www.eCosCentric.com/     The eCos experts
Barnwell House, Barnwell Drive, Cambridge, UK.       Tel: +44 1223 245571
Registered in England and Wales: Reg No 4422071.
------["Si fractum non sit, noli id reficere"]------       Opinions==mine


_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to