if (interactive()) cat("WARNING: You are encouraged to run the server in batch; you can do so by executing 'Rscript server.r' from a terminal.\n\n") library(pbdZMQ) ctxt <- zmq.ctx.new() socket <- zmq.socket(ctxt, ZMQ.ST()$REP) zmq.bind(socket, "tcp://*:55555") while(TRUE) { cat("Client command: ") msg <- zmq.msg.recv(socket) cat(msg, "\n") if (msg == "EXIT") break result <- eval(parse(text=msg)) zmq.msg.send(result, socket) } zmq.msg.send("shutting down!", socket) zmq.close(socket) zmq.ctx.destroy(ctxt)