diff options
| author | Loic Guegan <manzerbredes@mailbox.org> | 2023-07-15 15:27:34 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerbredes@mailbox.org> | 2023-07-15 15:27:34 +0200 |
| commit | ffbd3d00675ad3891c15f6692ac43ed00ef26407 (patch) | |
| tree | 674fef1f2577c97bddbf060b8e1ab70af15f1f68 | |
| parent | 0c0a6ebf44d5e9b4c0a99b3d9b353a522439dd49 (diff) | |
Minor changes
| -rw-r--r-- | .gitignore | 5 | ||||
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | src/client.c | 39 | ||||
| -rw-r--r-- | src/publisher.c | 4 |
4 files changed, 42 insertions, 8 deletions
@@ -3,5 +3,6 @@ /publisher /client -# Logs -/logs
\ No newline at end of file +# Caches +/logs +/cdata
\ No newline at end of file @@ -8,7 +8,7 @@ all: publisher client logger publisher: src/publisher.c src/utils.c $(CC) -lzmq $^ -o $@ -client: src/client.c +client: src/client.c src/utils.c $(CC) -lzmq $^ -o $@ logger: src/logger.c src/utils.c diff --git a/src/client.c b/src/client.c index cd01232..fc62359 100644 --- a/src/client.c +++ b/src/client.c @@ -10,14 +10,18 @@ int main (int argc, char *argv []) { - if(argc != 3){ - printf("Usage: %s <address> <port>",argv[0]); + if(argc != 4){ + printf("Usage: %s <address> <port> <cdatadir>",argv[0]); exit(1); } //----- Arguments char *ip=argv[1]; int port=atoi(argv[2]); + char *cdatadir=argv[3]; + + //----- Various inits + mkdirp(cdatadir); //----- Init ZMQ void *context = zmq_ctx_new (); @@ -38,7 +42,36 @@ int main (int argc, char *argv []) while(1){ size=zmq_recv (subscriber, buffer, ZMQ_MSG_SIZE-1, 0); buffer[size < ZMQ_MSG_SIZE ? size : ZMQ_MSG_SIZE - 1] = '\0'; - printf("Received: %s\n",buffer); + //----- 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){ + 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); } diff --git a/src/publisher.c b/src/publisher.c index a42b41b..f4bb86d 100644 --- a/src/publisher.c +++ b/src/publisher.c @@ -79,7 +79,7 @@ int main (int argc, char *argv []) void publish(void *publisher, char *filepath, char* client, long int interval){ printf("Publish!\n"); char buffer[ZMQ_MSG_SIZE]; - sprintf(buffer,"%s\n%s\n%ld\n",ZMQ_TOKEN,__key,interval); + sprintf(buffer,"%s\n%s\n%s\n%ld\n",ZMQ_TOKEN,__key,client,interval); int msglen=strlen(buffer); FILE *fptr; @@ -93,7 +93,7 @@ void publish(void *publisher, char *filepath, char* client, long int interval){ msglen+=read; } else { zmq_send (publisher, buffer, ZMQ_MSG_SIZE, 0); - sprintf(buffer,"%s\n%s\n%ld\n",ZMQ_TOKEN,__key,interval); + sprintf(buffer,"%s\n%s\n%s\n%ld\n",ZMQ_TOKEN,__key,client,interval); strcat(buffer,line); msglen=strlen(buffer); } |
