package org.sim0mq.test.reqrep; import org.sim0mq.Sim0MQException; import org.zeromq.SocketType; import org.zeromq.ZContext; import org.zeromq.ZMQ; /** * Server example for JeroMQ / ZeroMQ. *

* (c) copyright 2015-2020 Delft University of Technology.
* BSD-style license. See DSOL License.
* @author Alexander Verbraeck * @version Oct 21, 2016 */ public final class Toc { /** */ private Toc() { // Utility Class. } /** * @param args command line arguments * @throws Sim0MQException on error */ public static void main(final String[] args) throws Sim0MQException { try (ZContext context = new ZContext(1)) { // Socket to talk to clients ZMQ.Socket responder = context.createSocket(SocketType.REP); responder.bind("tcp://*:5556"); int nummessages = 0; System.out.println("Toc - REP socket ready"); while (true) { // Wait for next request from the client byte[] request = responder.recv(0); String rs = Tic.byte2string(request); if (rs.equals("STOP")) { break; } if (!rs.equals("TIC")) { System.err.println("Request was not TIC"); } nummessages++; // send a reply byte[] reply = Tic.string2byte("TOC"); responder.send(reply, 0); } System.out.println("Sent/received " + nummessages + " messages"); responder.close(); context.destroy(); } } }