Quantcast
Channel: Active questions tagged zeromq - Stack Overflow
Viewing all articles
Browse latest Browse all 193

JeroMQ - Sending message from Java client to Python server

$
0
0

I am trying to send a message from a Android Java client using JeroMQ to a Python server using ZeroMQ. I am running bother server and client on the same machine. The server runs in a Jupyter notebook, while the client runs in an Android device emulator on Android studio. The code is as follows. Python server:

context = zmq.Context()socket = context.socket(zmq.REP)socket.bind("tcp://*:5555")while True:    #  Wait for next request from client    message = socket.recv_json()    print("Received request: %s" % message)    #  Do some 'work'    time.sleep(1)    #  Send reply back to client    socket.send(b"World")

This is the Python client (which works):

context = zmq.Context()#  Socket to talk to server print("Connecting to hello world server…") socket = context.socket(zmq.REQ) socket.connect("tcp://localhost:5555")#  Do 10 requests, waiting each time for a response for request in range(3):    print("Sending request %s …" % request)    socket.send(b"Hellos")    #  Get the reply.    message = socket.recv()    print("Received reply %s [ %s ]" % (request, message))

And this is my attempt at doing the same thing in a Java client:

public class MainActivity extends AppCompatActivity {private final String TAG = "MainActivity";private ZMQ.Socket req;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    Thread thread = new Thread(new Runnable() {        @Override        public void run() {            try  {                try (ZContext context = new ZContext()) {                    //  Socket to talk to server                    req = context.createSocket(SocketType.REQ);                    req.connect("tcp://localhost:5555");                    for (int i = 0; i == 3; i++) {                        req.send("Hello, this is from Java");                    }                }            } catch (Exception e) {                e.printStackTrace();            }        }    });    thread.start();}}

The server doesn't seem to receive anything however. Any idea where I am going wrong?


Viewing all articles
Browse latest Browse all 193

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>