# make.socket

0th

Percentile

##### Create a Socket Connection

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 to ensure that a socket is closed, as you only get 64 of them.

Keywords
misc
##### 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.

##### References

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

close.socket, read.socket. Compiling in support for sockets was optional prior to R 3.3.0: see capabilities("sockets") to see if it is available.
library(utils) 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")