From 8e0b1ff50e18d0bb6b5e6f7eabf7400b1cf57cc2 Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Wed, 7 Jan 2026 23:17:36 +0000 Subject: [PATCH] fix: finnaly working! --- PlayerTracker | Bin 818616 -> 818632 bytes include/net.hpp | 1 - source/net.cpp | 37 +++++++++++++++++++------------------ 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/PlayerTracker b/PlayerTracker index 2ec209d7b2ef113c751188c7ecec055f617eb35e..c6467b4a49dcbc0989852631e2dd6467df39abb7 100755 GIT binary patch delta 16940 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 delta 16797 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 G@qYkOFVzzO diff --git a/include/net.hpp b/include/net.hpp index 4b3f590..8193c82 100644 --- a/include/net.hpp +++ b/include/net.hpp @@ -17,7 +17,6 @@ class Socket { private: // Socket file descriptor int sock_server; - int sock_server_rev; int sock_unix; struct sockaddr_in server_addr; struct sockaddr_un server_addr_unix; diff --git a/source/net.cpp b/source/net.cpp index 2e256ab..a0795fc 100644 --- a/source/net.cpp +++ b/source/net.cpp @@ -17,7 +17,7 @@ Socket::~Socket() { } void Socket::connect_server(const char *ip, uint16_t port) { - this->server_port_input = port; + this->server_port_input = port; server_addr.sin_port = htons(port); if (inet_pton(AF_INET, ip, &server_addr.sin_addr) <= 0) { throw runtime_error("Invalid IP address"); @@ -25,16 +25,18 @@ void Socket::connect_server(const char *ip, uint16_t port) { } void Socket::bind_server(const char *ip, uint16_t port) { - // The UDP socket is already created in the constructor - server_addr.sin_port = htons(port); - server_addr.sin_addr.s_addr = inet_addr(ip); - - if (bind(sock_server_rev, (const struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) { - perror("[!] bind() failed"); - throw runtime_error("Failed to bind UDP socket"); - } - - printf("[+] Bound UDP socket on %s:%d\n", ip, port); + struct sockaddr_in bind_addr; + memset(&bind_addr, 0, sizeof(bind_addr)); + bind_addr.sin_family = AF_INET; + bind_addr.sin_port = htons(port); + bind_addr.sin_addr.s_addr = inet_addr(ip); + + if (bind(sock_server, (const struct sockaddr *)&bind_addr, sizeof(bind_addr)) < 0) { + perror("[!] bind() failed"); + throw runtime_error("Failed to bind UDP socket"); + } + + printf("[+] Bound UDP socket on %s:%d\n", ip, port); } void Socket::connect_unix(const char *ip, uint16_t port) { @@ -59,12 +61,12 @@ void Socket::send_server() { } ssize_t Socket::receive_server(void *buffer, size_t len) { - ssize_t recv_bytes = recv(sock_server_rev, buffer, len, 0); - if (recv_bytes < 0) { - perror("[!] recv() failed"); - return -1; - } - return recv_bytes; + ssize_t recv_bytes = recv(sock_server, buffer, len, 0); + if (recv_bytes < 0) { + perror("[!] recv() failed"); + return -1; + } + return recv_bytes; } void Socket::send_unix() { @@ -111,4 +113,3 @@ api_packet Socket::create_packet(uint8_t tracker_id) { api_packet Socket::get_packet() { return packet_data; } -