Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string>
- #include <iostream>
- #include <unistd.h>
- #include <zmq.hpp>
- int main () {
- zmq::context_t context (1);
- zmq::socket_t socket (context, ZMQ_ROUTER);
- socket.bind ("tcp://*:5555");
- std::cout << "Listening on port 5555..." << std::endl;
- while (1) {
- zmq::message_t identity;
- zmq::message_t request;
- try {
- // Block, waiting for the next incoming request
- socket.recv(&identity);
- socket.recv(&request);
- std::string reqBody (request.data<char>(), request.size());
- std::cout << "Received " << reqBody << std::endl;
- // Do some 'work'
- sleep(1);
- // Send reply back to client
- zmq::message_t reply (5);
- memcpy (reply.data(), "World", 5);
- socket.send(identity, ZMQ_SNDMORE);
- socket.send(reply);
- }
- catch (zmq::error_t& e) {
- std::cout << "Error received... exiting." << std::endl;
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement