summaryrefslogtreecommitdiff
path: root/src/client.c
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2023-07-15 19:31:17 +0200
committerLoic Guegan <manzerbredes@mailbox.org>2023-07-15 19:31:17 +0200
commit831c3999b48613c61e15094bf0581cb38e1c3467 (patch)
treec9cd739ed6cc3d6a98fbadfa0cbda6f7ce3bdbc9 /src/client.c
parentb63811848fd58d0c0478244ca19a938ad88a4257 (diff)
Minor changes
Diffstat (limited to 'src/client.c')
-rw-r--r--src/client.c83
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