Guest User

Untitled

a guest
May 22nd, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. PHP Code:
  2.  
  3. <?php
  4. $context = new ZMQContext();
  5.  
  6. echo "connect to freeswitch zmq module...";
  7. $sub = new ZMQSocket($context, ZMQ::SOCKET_SUB);
  8. $sub->setSockOpt(ZMQ::SOCKOPT_SUBSCRIBE,"");
  9. $sub->connect("tcp://192.168.20.73:5556");
  10. $hwm = $sub->getSockOpt(ZMQ::SOCKOPT_HWM);
  11. echo "ok.hwm: $hwm\n";
  12.  
  13. echo "looping\n";
  14. while(1) {
  15. $data = $sub->recv();
  16. $d = json_decode($sub->recv(),TRUE);
  17. $event = $d["Event-Name"];
  18. $date = $d["Event-Date-Local"];
  19. $ts = $d["Event-Date-Timestamp"];
  20. $msgnr = $d["ZMQ-Msg-Cnt"];
  21. echo "PHP: $date msg# $msgnr $ts received $event\n";
  22. }
  23. ?>
  24.  
  25. C code:
  26.  
  27. #include "zhelpers.h"
  28. #include "cJSON.h"
  29.  
  30. int main (void)
  31. {
  32. void *context = zmq_init (1);
  33.  
  34. void *subscriber = zmq_socket (context, ZMQ_SUB);
  35. zmq_connect (subscriber, "tcp://192.168.20.73:5556");
  36. zmq_setsockopt (subscriber, ZMQ_SUBSCRIBE, "", 0);
  37.  
  38. while (1) {
  39. char *string = s_recv (subscriber);
  40.  
  41. cJSON *root = cJSON_Parse(string);
  42. int msgcnt = cJSON_GetObjectItem(root,"ZMQ-Msg-Cnt")->valueint;
  43.  
  44. printf("C: %s msg# %s %s received %s\n",
  45. cJSON_GetObjectItem(root,"Event-Date-Local")->valuestring,
  46. cJSON_GetObjectItem(root,"ZMQ-Msg-Cnt")->valuestring,
  47. cJSON_GetObjectItem(root,"Event-Date-Timestamp")->valuestring,
  48. cJSON_GetObjectItem(root,"Event-Name")->valuestring
  49. );
  50. cJSON_Delete(root);
  51. free (string);
  52. }
  53.  
  54. zmq_close (subscriber);
  55. zmq_term (context);
  56. return 0;
  57. }
Add Comment
Please, Sign In to add comment