Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864

Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc

Disabling of Nagle's algorithm in the code

Post Reply
remotepc
8
8
Posts: 14
Joined: 2006-07-10 06:52

Disabling of Nagle's algorithm in the code

Post by remotepc »

Hi All,

Can anyone explain why we are disabling the Nagle's algorithm in the code by using setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (char *)&one, sizeof(one)). What can be the possible disadvantages of not keeping the recommended option of leaving it enabled.

Thanks in advance,
Praveen

[mod=494,1152917240]moved from bugs and bugfixes for rel 1.0x to General help[/mod]
Last edited by remotepc on 2006-07-14 22:47, edited 1 time in total.
redge
1000
1000
Posts: 6797
Joined: 2004-07-03 17:05
Location: Switzerland - Geneva

Re: Disabling of Nagle's algorithm in the code

Post by redge »

Rudi De Vos wrote:Without the tcp_nodelay little updates, get queued.
Normal this should be a good thing, but the problem is that it is not
controled by vnc.

The whole communication between client and server become slow when
the algorithm is enabled. It's better to disable it and make your own queing. Vnc queue little updates (during one update cycle) and send them as block. This way we avoid sending to many little updates (like the
Nagle's algorithm) but still can force it to be send at the end of each update cycle.
UltraVNC 1.0.9.6.1 (built 20110518)
OS Win: xp home + vista business + 7 home
only experienced user, not developer
Post Reply