diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2023-07-15 19:31:17 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2023-07-15 19:31:17 +0200 |
| commit | 831c3999b48613c61e15094bf0581cb38e1c3467 (patch) | |
| tree | c9cd739ed6cc3d6a98fbadfa0cbda6f7ce3bdbc9 /src/client.c | |
| parent | b63811848fd58d0c0478244ca19a938ad88a4257 (diff) | |
Minor changes
Diffstat (limited to 'src/client.c')
| -rw-r--r-- | src/client.c | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/src/client.c b/src/client.c deleted file mode 100644 index 32172fd..0000000 --- a/src/client.c +++ /dev/null @@ -1,83 +0,0 @@ -// 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 []) -{ - if(argc != 3){ - printf("Usage: %s <port> <cdatadir>",argv[0]); - exit(1); - } - - //----- Arguments - int port=atoi(argv[1]); - char *cdatadir=argv[2]; - - //----- Various inits - mkdirp(cdatadir); - - //----- Init ZMQ - void *context = zmq_ctx_new (); - void *subscriber = zmq_socket (context, ZMQ_SUB); - char bindto[30]; - sprintf(bindto,"tcp://*:%d",port); - int rc = zmq_bind (subscriber, bindto); - if(rc!=0){ - printf("Failed to bind zmq on %s\n",bindto); - exit(1); - } - rc = zmq_setsockopt (subscriber, ZMQ_SUBSCRIBE, - ZMQ_TOKEN, strlen(ZMQ_TOKEN)); - - //----- Listen - char buffer[ZMQ_MSG_SIZE]; - int size; - while(1){ - size=zmq_recv (subscriber, buffer, ZMQ_MSG_SIZE-1, 0); - buffer[size < ZMQ_MSG_SIZE ? size : ZMQ_MSG_SIZE - 1] = '\0'; - //----- Read buffer - char *token = strtok(buffer, "\n"); - char key[255]; - char client[255]; - long int interval; - FILE *fptr; - int line=1; - while(token != NULL){ - if(line==2) - strcpy(key,token); - else if(line==3) - strcpy(client,token); - else if(line==4) - interval=atoi(token); - - if(line==4){ - printf("Data received with key=%s\n",key); - char path[255]=""; - sprintf(path,"%s/%s_%s_%ld",cdatadir,key,client,interval); - fptr=fopen(path,"a"); - } - - if(line>4){ - fwrite(token, strlen(token), 1, fptr); - fwrite("\n",2,1,fptr); - } - - token=strtok(NULL, "\n"); - line++; - } - fclose(fptr); - } - - - - zmq_close (subscriber); - zmq_ctx_destroy (context); - - return 0; -}
\ No newline at end of file |
