From c2e9c4e09db7e3ebfba9c925edcfd67e133fc0ec Mon Sep 17 00:00:00 2001 From: cashmere Date: Wed, 24 Jun 2026 15:56:55 +0200 Subject: src/main.c: add fn establish connection --- src/main.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index edfe6b2..52a4a4a 100644 --- a/src/main.c +++ b/src/main.c @@ -4,11 +4,9 @@ #include #include -int main() { - struct sockaddr_in addr; - addr.sin_family = AF_INET; /* IPv4 */ - addr.sin_port = htons(8000); /* Port */ - addr.sin_addr.s_addr = INADDR_ANY; /* equals to 0.0.0.0 */ +// returns a socket file descriptor. +// if connection could not be established, 1 gets returned +int establish_connection(struct sockaddr_in addr) { int sfd = socket(AF_INET, SOCK_STREAM, 0); if (sfd == -1) { perror("could not open socket"); @@ -26,7 +24,20 @@ int main() { perror("could not listen"); return 1; } + return sfd; +} + +int main() { + struct sockaddr_in addr; + addr.sin_family = AF_INET; /* IPv4 */ + addr.sin_port = htons(8000); /* Port */ + addr.sin_addr.s_addr = INADDR_ANY; /* equals to 0.0.0.0 */ struct pollfd fds[256]; + int sfd = establish_connection(addr); + if (sfd == 1) { + perror("could not establish connection"); + return 1; + } fds[0].fd = sfd; /* socket file descriptor */ fds[0].events = POLLIN; /* data to read */ nfds_t nfds = 1; /* non file descriptor. something with timeout */ -- cgit v1.3.1