I use TCP_NODELAY, the problem solved.

I suggest lwIP provide a suggestion to implement flush feature. So do not
use TCP_NODELAY for all environement, and let application use flush in its
application

On Sat, Dec 13, 2008 at 10:40 PM, yueyue papa <[email protected]> wrote:

> Thanks Kieran again.
>
> i really do not known the rule you refered. ( You are correct.)
>
> i am very like lwIP support flush in socket level. i could write the code,
> hope lwIP could add it in its standard solution.
>
>   On Sat, Dec 13, 2008 at 10:36 PM, yueyue papa <[email protected]>wrote:
>
>> so elegement solution will be add a new kind of message type ,and let
>> tcpip_thread to process.
>>
>>
>>
>> On Sat, Dec 13, 2008 at 10:15 PM, Kieran Mansley <[email protected]>wrote:
>>
>>> On Sat, 2008-12-13 at 21:59 +0800, yueyue papa wrote:
>>> > Thanks
>>> >
>>> > Based on your suggtion,
>>> >
>>> > I tried to add a lwip_tcpflush(int s)
>>> >
>>> > int lwip_tcpflush(int s)
>>> > {
>>> >   struct lwip_socket *sock;
>>> >   sock = get_socket(s);
>>> >   if (!sock)
>>> >     return -1;
>>> >   return tcp_output(sock->conn.pcb.tcp);
>>> > }
>>> >
>>> > Will it force data flush ?
>>>
>>> Yes, but you've completely broken the threading protection: the sockets
>>> code can't access the internal functions of lwIP directly, they must use
>>> a message to invoke an action in the tcpip thread.
>>>
>>> Kieran
>>>
>>>
>>>
>>> _______________________________________________
>>> lwip-users mailing list
>>> [email protected]
>>> http://lists.nongnu.org/mailman/listinfo/lwip-users
>>>
>>
>>
>
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to