Send bytes to a datagram destination.

socket_send_to(socket, data, address, port = NULL, flags = 0L)

socket_receive_from(socket, n = 4096L, flags = 0L)

Arguments

socket

A datagram socket handle.

data

A raw vector or character scalar.

address

Destination hostname, IP address, or Unix-domain path.

port

Destination port; NULL for Unix sockets.

flags

Native recvfrom() flags.

n

Maximum datagram payload size.

Value

Number of bytes sent, or NA_integer_ if I/O would block.

A list with data and address, or NULL if I/O would block.

Examples

if (interactive()) {
  receiver <- socket_create(type = "dgram")
  sender <- socket_create(type = "dgram")
  socket_bind(receiver, "127.0.0.1", 0L)
  socket_send_to(sender, "hello", "127.0.0.1",
                 socket_local_name(receiver)$port)
  socket_receive_from(receiver)
  socket_close(sender); socket_close(receiver)
}