make.socket {utils} | R Documentation

## Create a Socket Connection

### 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` 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`, `read.socket`.

Compiling in support for sockets was optional prior to R 3.3.0: see `capabilities("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 3.3.0 Index]