aboutsummaryrefslogtreecommitdiff
path: root/core/client.c
diff options
context:
space:
mode:
authorPaul Oliver <contact@pauloliver.dev>2026-04-28 00:06:58 +0200
committerPaul Oliver <contact@pauloliver.dev>2026-04-28 00:06:58 +0200
commitb1b94e828f477b384eb36a8cee9e511069ee77a5 (patch)
tree165ea11defd6975ae76369b94ec23e7da841e7e4 /core/client.c
parentf7f2d1193758bb9d7a2d467f188cf755c8d5ddc9 (diff)
Adds native server and client (WIP)native_server_client
Diffstat (limited to 'core/client.c')
-rw-r--r--core/client.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/core/client.c b/core/client.c
new file mode 100644
index 0000000..220a90c
--- /dev/null
+++ b/core/client.c
@@ -0,0 +1,28 @@
+#include <arpa/inet.h>
+#include <json-c/json.h>
+
+#include "logger.c"
+
+int main(void) {
+ log_info("Initializing salis data client");
+ int client_fd = socket(AF_INET, SOCK_STREAM, 0);
+ struct sockaddr_in server_addr = { 0 };
+ server_addr.sin_family = AF_INET;
+ server_addr.sin_addr.s_addr = inet_addr(IP);
+ server_addr.sin_port = htons(PORT);
+
+ log_info("Attempting to connect to salis data server at: %s:%d", IP, PORT);
+ if (connect(client_fd, (struct sockaddr *)&server_addr, sizeof(struct sockaddr_in))) {
+ log_warn("Could not connect to salis data server!");
+ return 1;
+ }
+
+ log_info("Fetching simulation info");
+ write(client_fd, "o", sizeof(char));
+ struct json_object *response = json_object_from_fd(client_fd);
+ const char *str_rep = json_object_to_json_string_ext(response, JSON_C_TO_STRING_PRETTY);
+ printf("resp: %s\n", str_rep);
+
+ close(client_fd);
+ return 0;
+}