Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. #include <string>
  2. #include <iostream>
  3. #include <unistd.h>
  4. #include <zmq.hpp>
  5.  
  6. int main () {
  7. zmq::context_t context (1);
  8. zmq::socket_t socket (context, ZMQ_ROUTER);
  9.  
  10. socket.bind ("tcp://*:5555");
  11.  
  12. std::cout << "Listening on port 5555..." << std::endl;
  13.  
  14. while (1) {
  15. zmq::message_t identity;
  16. zmq::message_t request;
  17.  
  18. try {
  19. // Block, waiting for the next incoming request
  20. socket.recv(&identity);
  21. socket.recv(&request);
  22.  
  23. std::string reqBody (request.data<char>(), request.size());
  24. std::cout << "Received " << reqBody << std::endl;
  25.  
  26. // Do some 'work'
  27. sleep(1);
  28.  
  29. // Send reply back to client
  30. zmq::message_t reply (5);
  31. memcpy (reply.data(), "World", 5);
  32.  
  33. socket.send(identity, ZMQ_SNDMORE);
  34. socket.send(reply);
  35. }
  36. catch (zmq::error_t& e) {
  37. std::cout << "Error received... exiting." << std::endl;
  38. break;
  39. }
  40. }
  41.  
  42. return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement