<div dir="ltr"><div>I'm trying my first ZMQ example. I have been able to solve some off the problems. The client is Java and server is C++. I've been able to successfully send message from client to server, but the reply doesn't reach back to client.</div>

<div><br></div><div><br></div><div>Server code:</div><div> while (true) {</div><div>      zmq::message_t request;</div><div><br></div><div>      //  Wait for next request from client</div><div>      socket.recv (&request);</div>

<div>      std::cout << "Received Hello" << std::endl;</div><div><br></div><div>      //  Do some 'work'</div><div>      sleep (1);</div><div><br></div><div>      //  Send reply back to client</div>

<div>      zmq::message_t reply (5);</div><div>      memcpy ((void *) reply.data (), "World", 5);</div><div>      std::cout << "Sending world" << std::endl;</div><div>      socket.send (reply);</div>

<div>   }</div><div><br></div><div><br></div><div>Client code:</div><div>for (int request_nbr = 0; request_nbr != 10; request_nbr++) {</div><div>                // Create a "Hello" message.</div><div>                // Ensure that the last byte of our "Hello" message is 0 because</div>

<div>                // our "Hello World" server is expecting a 0-terminated string:</div><div>                String requestString = "Hello" + " ";</div><div>                byte[] request = requestString.getBytes();</div>

<div>                request[request.length - 1] = 0; // Sets the last byte to 0</div><div>                // Send the message</div><div>                System.out.println("Sending request " + request_nbr + "\u2026");</div>

<div>                socket.send(request, 0);</div><div><br></div><div>                System.out.println("Waiting for reply " + request_nbr + "\u2026");</div><div><br></div><div>                // Get the reply.</div>

<div>                byte[] reply = socket.recv(0);</div><div>                // When displaying reply as a String, omit the last byte because</div><div>                // our "Hello World" server has sent us a 0-terminated string:</div>

<div>                System.out.println("Received reply " + request_nbr + ": ["</div><div>                        + new String(reply, 0, reply.length - 1) + "]");</div><div>            }</div>

<div><br></div><div>Output:</div><div>Bound. Waiting for client..</div><div>Received Hello</div><div>Sending world</div></div>