summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2023-07-15 15:27:34 +0200
committerLoic Guegan <manzerbredes@mailbox.org>2023-07-15 15:27:34 +0200
commitffbd3d00675ad3891c15f6692ac43ed00ef26407 (patch)
tree674fef1f2577c97bddbf060b8e1ab70af15f1f68 /src
parent0c0a6ebf44d5e9b4c0a99b3d9b353a522439dd49 (diff)
Minor changes
Diffstat (limited to 'src')
-rw-r--r--src/client.c39
-rw-r--r--src/publisher.c4
2 files changed, 38 insertions, 5 deletions
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);
}