read.socket
reads a string from the specified socket,
write.socket
writes to the specified socket. There is very
little error checking done by either.
read.socket(socket, maxlen = 256L, loop = FALSE)
write.socket(socket, string)
read.socket
returns the string read as a length-one character vector.write.socket
returns the number of bytes written.close.socket
, make.socket
finger <- function(user, host = "localhost", port = 79, print = TRUE)
{
if (!is.character(user))
stop("user name must be a string")
user <- paste(user,"\r\n")
socket <- make.socket(host, port)
on.exit(close.socket(socket))
write.socket(socket, user)
output <- character(0)
repeat{
ss <- read.socket(socket)
if (ss == "") break
output <- paste(output, ss)
}
close.socket(socket)
if (print) cat(output)
invisible(output)
}
## Not run:
# finger("root") ## only works if your site provides a finger daemon## End(Not run)
Run the code above in your browser using DataLab