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
