Modify the TCP\_NODELAY (‘de-Nagle’) flag for socket objects
Modify the TCP\_NODELAY (‘de-Nagle’) flag for socket objects
setTCPNoDelay(socket, value=TRUE)
socket |
A socket connection object |
value |
Logical indicating whether to set ( |
By default, TCP connections wait a small fixed interval before actually sending data, in order to permit small packets to be combined. This algorithm is named after its inventor, John Nagle, and is often referred to as 'Nagling'.
While this reduces network resource utilization in these situations, it imposes a delay on all outgoing message data, which can cause problems in client/server situations.
This function allows this feature to be disabled (de-Nagling,
value=TRUE
) or enabled (Nagling, value=FALSE
) for the
specified socket.
The character string "SUCCESS" will be returned invisible if the operation was successful. On failure, an error will be generated.
Gregory R. Warnes greg@warnes.net
"Nagle's algorithm" at WhatIS.com http://searchnetworking.techtarget.com/sDefinition/0,,sid7_gci754347,00.html
Nagle, John. "Congestion Control in IP/TCP Internetworks", IETF Request for Comments 896, January 1984. http://www.ietf.org/rfc/rfc0896.txt?number=896
## Not run: host <- "www.r-project.org" socket <- make.socket(host, 80) print(socket) setTCPNoDelay(socket, TRUE) write.socket(socket, "GET /\n\n") write.socket(socket, "A") write.socket(socket, "B\n") while( (str <- read.socket(socket)) > "") cat(str) close.socket(socket) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.