aboutsummaryrefslogtreecommitdiff
path: root/core/client.c
blob: 220a90cee3d55c0572e36a8e597c64171edced68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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;
}