read.socket              package:utils              R Documentation

Read from or Write to a Socket

Description:

     '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.

Usage:

     read.socket(socket, maxlen=256, loop=FALSE)
     write.socket(socket, string)

Arguments:

  socket: a socket object

  maxlen: maximum length of string to read

    loop: wait for ever if there is nothing to read?

  string: string to write to socket

Value:

     'read.socket' returns the string read.

Author(s):

     Thomas Lumley

See Also:

     'close.socket', 'make.socket'

Examples:

     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

