Skip to contents

Creates a DSD_ReadStream that reads from a port.

Usage

DSD_ReadSocket(host = "localhost", port, retry_args = NULL, ...)

Arguments

host

hostname.

port

host port.

retry_args

a list with arguments for retry().

...

further arguments are passed on to stream::DSD_ReadStream().

Value

A stream::DSD object.

Examples

if (has_localhost_server(port = 8000)) {
  # find a free port
  port <- httpuv::randomPort()
  port

  # create a background DSD process sending data to the port
  rp1 <- DSD_Gaussians(k = 3, d = 3) %>% publish_DSD_via_Socket(port = port)
  rp1

  # create a DSD that connects to the socket. Note that we need to
  # specify the column names of the stream
  dsd <- DSD_ReadSocket(port = port, col.names = c("x", "y", "z", ".class"))
  dsd

  get_points(dsd, n = 10)

  plot(dsd)

  close_stream(dsd)

  # end the DSD process. Note: that closing the connection above
  # may already kill the process.
  if (rp1$is_alive()) rp1$kill()
  rp1
} else {
  message("localhost not available, example skipped.")
}

#> PROCESS 'R', finished.