diff options
Diffstat (limited to 'src/client.c')
| -rw-r--r-- | src/client.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/client.c b/src/client.c new file mode 100644 index 0000000..d4a6c5c --- /dev/null +++ b/src/client.c @@ -0,0 +1,39 @@ +// Weather update client +// Connects SUB socket to tcp://localhost:5556 +// Collects weather updates and finds avg temp in zipcode +#include <zmq.h> +#include <assert.h> +#include <time.h> +#include <string.h> + +#include "utils.h" + + +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://"STRINGIFY(PUBLISHER_ADDR)":"STRINGIFY(PUBLISHER_PORT)); + 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; +}
\ No newline at end of file |
