blob: 10d84b1f350ce38d68612fe71a337187bce90d01 (
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
29
30
31
|
#include "./client.h"
#include "common.h"
#include <netinet/in.h>
conn_t* client_connect_to_server(const char* addr, const char* port) {
conn_t* conn = calloc(1, sizeof(*conn));
conn->conn_socket_fd = socket(AF_INET, SOCK_STREAM, 0);
if (conn->conn_socket_fd == -1) {
fprintf(stderr, "[client_connect_to_server] Unable to create socket()\n");
exit(EXIT_FAILURE);
}
struct sockaddr_in* conn_addr = get_addr(addr, port);
if (connect(conn->conn_socket_fd, conn_addr, sizeof(*conn_addr)) == -1) {
if (errno == ECONNREFUSED) {
close(conn->conn_socket_fd);
free(conn);
return NULL;
}
fprintf(stderr, "[connect_to_master] Unable to connect() to master");
exit(EXIT_FAILURE);
}
free(conn_addr);
return conn;
}
|