From 16028a0d30c092c3c0f8c3078f33bd37384cf2a0 Mon Sep 17 00:00:00 2001 From: marcelb Date: Sun, 21 May 2023 22:48:16 +0200 Subject: [PATCH] Fix reuse address --- src/tcp_socket.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/tcp_socket.cpp b/src/tcp_socket.cpp index ab2898f..b6606b4 100644 --- a/src/tcp_socket.cpp +++ b/src/tcp_socket.cpp @@ -12,10 +12,9 @@ server::server (const ushort port, const uint limit) { } int opt=1; - if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt))) { + if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt))) { printf("[ERROR] Ne mogu otvoriti defenirani TCP/IP socket!"); } - printf("[EVENT] Otvoren defenirani TCP/IP socket."); if (bind(sock, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) < 0) { printf("[ERROR] Ne mogu bindati defenirani TCP/IP socket!"); @@ -30,11 +29,11 @@ server::server (const ushort port, const uint limit) { server::~server () { - if (sock<0) { + if (sock<=0) { printf ("[ERROR] Soket destruktor: već zatvoren soket!"); } - else if (!close(sock)) { + else if (close(sock) != 0) { printf ("[ERROR] Soket destruktor nije mogao zatvoriti soket!"); } @@ -125,4 +124,4 @@ string comming::obey (size_t byte_limit) { char res[byte_limit] = {0}; ssize_t n = read ( conn , res, byte_limit); return (string) res; -} \ No newline at end of file +}