summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2023-07-15 14:36:48 +0200
committerLoic Guegan <manzerbredes@mailbox.org>2023-07-15 14:36:48 +0200
commit59c454173d41e15f9e2fcd7e443fc244c29851f3 (patch)
treeeb4c24fb5b14c7adbe6e7e9ac0c8b0e9cd1d0562 /src
parent5e8c2ae3b5ce467ae5a3eccded779113a2097d4c (diff)
Minor changes
Diffstat (limited to 'src')
-rw-r--r--src/client.c17
-rw-r--r--src/publisher.c14
-rw-r--r--src/utils.h1
3 files changed, 20 insertions, 12 deletions
diff --git a/src/client.c b/src/client.c
index 35a62c6..cd01232 100644
--- a/src/client.c
+++ b/src/client.c
@@ -15,10 +15,11 @@ int main (int argc, char *argv [])
exit(1);
}
+ //----- Arguments
char *ip=argv[1];
int port=atoi(argv[2]);
- // Socket to talk to server
+ //----- Init ZMQ
void *context = zmq_ctx_new ();
void *subscriber = zmq_socket (context, ZMQ_SUB);
char bindto[30];
@@ -31,12 +32,14 @@ int main (int argc, char *argv [])
rc = zmq_setsockopt (subscriber, ZMQ_SUBSCRIBE,
ZMQ_TOKEN, strlen(ZMQ_TOKEN));
-
-
- char buffer[10];
- zmq_recv (subscriber, buffer, 10, 0);
- printf("Received!");
-
+ //----- 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';
+ printf("Received: %s\n",buffer);
+ }
diff --git a/src/publisher.c b/src/publisher.c
index 51096ef..45a248e 100644
--- a/src/publisher.c
+++ b/src/publisher.c
@@ -11,15 +11,16 @@
// Global:
char *__logdir;
+char *__key;
int __loginterval;
int __port;
-void publish(void *publisher, char *filepath, char* client, int interval);
+void publish(void *publisher, char *filepath, char* client, long int interval);
int main (int argc, char *argv [])
{
- if(argc != 4){
- printf("Usage: %s <abslogdir> <loginterval> <port>",argv[0]);
+ if(argc != 5){
+ printf("Usage: %s <abslogdir> <loginterval> <port> <key>",argv[0]);
exit(1);
}
@@ -27,6 +28,7 @@ int main (int argc, char *argv [])
__logdir=argv[1];
__loginterval=atoi(argv[2]);
__port=atoi(argv[3]);
+ __key=argv[4];
//----- Prepare our context and publisher
void *context = zmq_ctx_new ();
@@ -88,7 +90,9 @@ int main (int argc, char *argv [])
return 0;
}
-void publish(void *publisher, char *filepath, char* client, int interval){
+void publish(void *publisher, char *filepath, char* client, long int interval){
printf("Publish!\n");
- zmq_send (publisher, ZMQ_TOKEN, strlen(ZMQ_TOKEN), 0);
+ char buffer[ZMQ_MSG_SIZE];
+ sprintf(buffer,"%s\n%s\n%ld",ZMQ_TOKEN,__key,interval);
+ zmq_send (publisher, buffer, ZMQ_MSG_SIZE, 0);
} \ No newline at end of file
diff --git a/src/utils.h b/src/utils.h
index 15b71b1..79d1a9a 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -9,6 +9,7 @@
#define INA260_SYSFS "/sys/kernel/ina260"
#define INA260_POWER_REGISTER "registers/power"
#define ZMQ_TOKEN "ina260-zmq-publisher"
+#define ZMQ_MSG_SIZE 255
#define STR(symbol) #symbol
#define STRINGIFY(symbol) STR(symbol)