diff options
Diffstat (limited to 'core/client.c')
| -rw-r--r-- | core/client.c | 28 |
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; +} |
