// Weather update client // Connects SUB socket to tcp://localhost:5556 // Collects weather updates and finds avg temp in zipcode #include #include #include #include int main (int argc, char *argv []) { // Socket to talk to server printf ("Collecting updates from weather server...\n"); void *context = zmq_ctx_new (); void *subscriber = zmq_socket (context, ZMQ_SUB); int rc = zmq_connect (subscriber, "tcp://localhost:5556"); assert (rc == 0); // Subscribe to zipcode, default is NYC, 10001 // Subscribe to zipcode, default is NYC, 10001 const char *filter = "Hello"; rc = zmq_setsockopt (subscriber, ZMQ_SUBSCRIBE, filter, strlen(filter)); assert (rc == 0); // Process 100 updates int update_nbr; char buffer[10]; for (update_nbr = 0; update_nbr < 100; update_nbr++) { zmq_recv (subscriber, buffer, 10, 0); printf("Received!"); } zmq_close (subscriber); zmq_ctx_destroy (context); return 0; }