R: Create a Socket Connection (original) (raw)

make.socket {utils} R Documentation

Description

With server = FALSE attempts to open a client socket to the specified port and host. With server = TRUE the R process listens on the specified port for a connection and then returns a server socket. It is a good idea to use [on.exit](../../base/html/on.exit.html) to ensure that a socket is closed, as you only get 64 of them.

Usage

make.socket(host = "localhost", port, fail = TRUE, server = FALSE)

Arguments

host name of remote host
port port to connect to/listen on
fail failure to connect is an error?
server a server socket?

Value

An object of class "socket", a list with components:

socket socket number. This is for internal use. On a Unix-alike it is a file descriptor.
port port number of the connection.
host name of remote computer.

Warning

I don't know if the connecting host name returned when server = TRUE can be trusted. I suspect not.

Author(s)

Thomas Lumley

References

Adapted from Luke Tierney's code for XLISP-Stat, in turn based on code from Robbins and Robbins “Practical UNIX Programming”.

See Also

[close.socket](../../utils/help/close.socket.html), [read.socket](../../utils/help/read.socket.html).

Compiling in support for sockets was optional prior to R 3.3.0: see[capabilities](../../base/html/capabilities.html)("sockets") to see if it is available.

Examples

daytime <- function(host = "localhost"){
    a <- make.socket(host, 13)
    on.exit(close.socket(a))
    read.socket(a)
}
## Official time (UTC) from US Naval Observatory
## Not run: daytime("tick.usno.navy.mil")

[Package _utils_ version 4.6.0 Index]