Message Function {pbdZMQ} | R Documentation

## Message Functions

### Description

Message functions

### Usage

    zmq.msg.send(rmsg, socket, flags = .pbd_env$ZMQ.SR$BLOCK, serialize = TRUE)

    zmq.msg.recv(socket, flags = .pbd_env$ZMQ.SR$BLOCK, unserialize = TRUE)

### Arguments

`rmsg` | an R message
`socket` | a ZMQ socket
`flags` | a flag for method of send and receive
`serialize` | if serialize the `rmsg`
`unserialize` | if unserialize the received R message

### Details

`zmq.msg.send()` sends an R message.

`zmq.msg.recv()` receives an R message.

### Value

`zmq.msg.send()` returns 0 if successful, otherwise returns -1 and sets `errno` to `EFAULT`.

`zmq.msg.recv()` returns the message if successful, otherwise returns -1 and sets `errno` to `EFAULT`.

### Author(s)

Wei-Chen Chen wccsnow@gmail.com.

### References

ZeroMQ/4.1.0 API Reference: http://api.zeromq.org/4-1:_start

Programming with Big Data in R Website: http://r-pbd.org/

### See Also

`zmq.send()`, `zmq.recv()`.

### Examples

    ## Not run:
    ### Using request-reply pattern.

    ### At the server, run next in background or the other window.
    library(pbdZMQ, quietly = TRUE)

    context <- zmq.ctx.new()
    responder <- zmq.socket(context, .pbd_env$ZMQ.ST$REP)
    zmq.bind(responder, "tcp://*:5555")
    buf <- zmq.msg.recv(responder)
    set.seed(1234)
    ret <- rnorm(5)
    print(ret)
    zmq.msg.send(ret, responder)
    zmq.close(responder)
    zmq.ctx.destroy(context)

    ### At a client, run next in foreground.
    library(pbdZMQ, quietly = TRUE)

    context <- zmq.ctx.new()
    requester <- zmq.socket(context, .pbd_env$ZMQ.ST$REQ)
    zmq.connect(requester, "tcp://localhost:5555")
    zmq.msg.send(NULL, requester)
    ret <- zmq.msg.recv(requester)
    print(ret)
    zmq.close(requester)
    zmq.ctx.destroy(context)

    ## End(Not run)

[Package pbdZMQ version 0.2-4 Index]