> But what about a large file stored in the Virtex II external memory? Do
> we have to chunk it so that we put payload equivalent in each pbuf and
> then chains them? Or is there
> a function already doing so?
> Because we tried to send lots of data using tcp_write by sending
> characters and the maximum we could do was around 7000, then the server
> crashes.
> 
> I've also heard about tcp_output, what is it exactly?

Could it be that either your buffers or your tcp send window is configured to 
around 7000 bytes? tcp_write only enqueues data in the pcb. You have to call 
tcp_output to really send the data.

Note that the length argument for tcp_write is a 16-bit int, so to send really 
large files (bigger than 64 KBytes), you have to call tcp_write multiple times 
with 0xffff as length. Also, you may not call tcp_write with more than 
tcp_sndbuf(tcp_pcb) of data!


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

Reply via email to