View Javadoc
1   package org.sim0mq.demo;
2   
3   import org.sim0mq.Sim0MQException;
4   import org.sim0mq.message.MessageStatus;
5   import org.sim0mq.message.SimulationMessage;
6   import org.zeromq.ZMQ;
7   
8   /**
9    * Client example for JeroMQ / ZeroMQ.
10   * <p>
11   * (c) copyright 2002-2016 <a href="http://www.simulation.tudelft.nl">Delft University of Technology</a>. <br>
12   * BSD-style license. See <a href="http://www.simulation.tudelft.nl/dsol/3.0/license.html">DSOL License</a>. <br>
13   * @author <a href="http://www.tbm.tudelft.nl/averbraeck">Alexander Verbraeck</a>
14   * @version Oct 21, 2016
15   */
16  public class Client
17  {
18      /**
19       * @param args command line arguments
20       * @throws Sim0MQException on error
21       */
22      public static void main(String[] args) throws Sim0MQException
23      {
24          ZMQ.Context context = ZMQ.context(1);
25  
26          // Socket to talk to server
27          System.out.println("Connecting to server...");
28  
29          ZMQ.Socket requester = context.socket(ZMQ.REQ);
30          requester.connect("tcp://localhost:5556");
31          // requester.connect("tcp://131.180.98.169:5556");
32          // requester.connect("tcp://130.161.3.179:5556");
33  
34          // send a reply
35          Object[] request = new Object[] { "test message", new Double(14.2), new Float(-28.4), new Short((short) 10) };
36          requester.send(SimulationMessage.encodeUTF8("IDVV14.2", "MC.1", "MM1.4", "TEST.2", 1201L, MessageStatus.NEW, request), 0);
37  
38          byte[] reply = requester.recv(0);
39          Object[] replyMessage = SimulationMessage.decode(reply);
40          System.out.println("Received\n" + SimulationMessage.print(replyMessage));
41  
42          requester.close();
43          context.term();
44      }
45  
46  }