changeset 5:45bac89a4da3

fix 'address already in use' before bind()
author Dennis <dennisconcepcionmartin@gmail.com>
date Tue, 18 Jul 2023 16:38:37 +0100
parents 691358f944e8
children e5e61ce70989
files README.md src/main.c
diffstat 2 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/README.md	Tue Jul 18 12:04:37 2023 +0100
+++ b/README.md	Tue Jul 18 16:38:37 2023 +0100
@@ -8,3 +8,4 @@
 - [HTTP Protocol](https://www.rfc-editor.org/rfc/pdfrfc/rfc7231.txt.pdf)
 - [Socket programming Oracle](https://docs.oracle.com/cd/E19253-01/817-4415/6mjum5som/index.html)
 - [Beej's Guide to Network Programming](https://beej.us/guide/bgnet/html/split/index.html)
+- [How does port number really work](https://stackoverflow.com/questions/13190176/how-does-port-number-really-work-in-tcp/29045432#29045432)
--- a/src/main.c	Tue Jul 18 12:04:37 2023 +0100
+++ b/src/main.c	Tue Jul 18 16:38:37 2023 +0100
@@ -1,3 +1,4 @@
+#include <asm-generic/socket.h>
 #include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -47,6 +48,10 @@
 		exit(1);
 	}
 
+	// Reuse
+	int yes = 1;
+	setsockopt(socketfd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int));
+
 	if (bind(socketfd, servinfo->ai_addr, servinfo->ai_addrlen) == -1) {
 		perror("bind: ");
 		exit(1);