Why the socket option TCP_NODELAY dosen't work 
Author Message
 Why the socket option TCP_NODELAY dosen't work

when I want to shut the Nagle ,
I use the setsockopt to set the TCP_NODELAY on the Clinet side.
but it dosen't work and The Client Tcp socket still has to send the next
packet after the previous packet has been ACKed!
And I set the TCP_NODELAY on the LINUX,
all are fine!
Why?How can i shut down the Nagle in the MICROSOFT PLAT?
Thank you!


Tue, 15 Jun 2004 19:26:39 GMT  
 Why the socket option TCP_NODELAY dosen't work
I'm not sure you understand what the nagle algorithm is.

It has nothing to do with acknowledging ACK's, but rather whether to wait on
partial packets for enough data to fill a complete packet.


Quote:
> when I want to shut the Nagle ,
> I use the setsockopt to set the TCP_NODELAY on the Clinet side.
> but it dosen't work and The Client Tcp socket still has to send the next
> packet after the previous packet has been ACKed!
> And I set the TCP_NODELAY on the LINUX,
> all are fine!
> Why?How can i shut down the Nagle in the MICROSOFT PLAT?
> Thank you!



Tue, 15 Jun 2004 19:34:38 GMT  
 Why the socket option TCP_NODELAY dosen't work
I think I know the Nagle algorithm  clearly.
I just want the client to  send lots of packets  to the server one by one
(so i set the client socket's send buff zero) and the server receives these
packets without send anything back.
So I have to set the TCP_NODELAY to shut down Nage to increase the speed of
sending data on the net!Doing so ,the client could send the next packets
without waiting for the previous Packet's ACK whick will be back after the
200ms for no packet to piggyback.

Quote:
> I'm not sure you understand what the nagle algorithm is.

> It has nothing to do with acknowledging ACK's, but rather whether to wait
on
> partial packets for enough data to fill a complete packet.



> > when I want to shut the Nagle ,
> > I use the setsockopt to set the TCP_NODELAY on the Clinet side.
> > but it dosen't work and The Client Tcp socket still has to send the next
> > packet after the previous packet has been ACKed!
> > And I set the TCP_NODELAY on the LINUX,
> > all are fine!
> > Why?How can i shut down the Nagle in the MICROSOFT PLAT?
> > Thank you!



Tue, 15 Jun 2004 21:06:14 GMT  
 Why the socket option TCP_NODELAY dosen't work
If you don't want ack's, maybe you should use UDP instead of TCP.

TCP will *ALWAYS* send an ack back for every packet, so either you aren't
communicating well, or you don't really understand what's happening.
TCP_NODELAY doesn't send packets without waiting for ACK's, that would defeat
the purpose of TCP.


Quote:
> I think I know the Nagle algorithm  clearly.
> I just want the client to  send lots of packets  to the server one by one
> (so i set the client socket's send buff zero) and the server receives these
> packets without send anything back.
> So I have to set the TCP_NODELAY to shut down Nage to increase the speed of
> sending data on the net!Doing so ,the client could send the next packets
> without waiting for the previous Packet's ACK whick will be back after the
> 200ms for no packet to piggyback.


> > I'm not sure you understand what the nagle algorithm is.

> > It has nothing to do with acknowledging ACK's, but rather whether to wait
> on
> > partial packets for enough data to fill a complete packet.



> > > when I want to shut the Nagle ,
> > > I use the setsockopt to set the TCP_NODELAY on the Clinet side.
> > > but it dosen't work and The Client Tcp socket still has to send the next
> > > packet after the previous packet has been ACKed!
> > > And I set the TCP_NODELAY on the LINUX,
> > > all are fine!
> > > Why?How can i shut down the Nagle in the MICROSOFT PLAT?
> > > Thank you!



Wed, 16 Jun 2004 02:30:33 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. PocketPC sockets: TCP_NODELAY won't work (HTTP Keep-Alive)

2. Why dosen't my application run in a Static library

3. Why my icons dosen't show????

4. Debug works -- Release Dosen't ??

5. ShellExecuteEx dosen't work always

6. CFileDialog() dosen't work on WinCE/PocketPC

7. TCP_NODELAY option

8. class view dosen't shows member variable's and functions defined with macros

9. class view dosen't shows member variable's defined with macros

10. Alter individual warning options don't work

11. Don't know why this doesn't work, but

12. Why MessageBox dosen't work after I introduce a control in formview for plotting?

 

 
Powered by phpBB® Forum Software