generated from AfonsoCMSousa/CPP-Template
fix: finnaly working!
This commit is contained in:
parent
bd32f95cd1
commit
8e0b1ff50e
BIN
PlayerTracker
BIN
PlayerTracker
Binary file not shown.
@ -17,7 +17,6 @@ class Socket {
|
|||||||
private:
|
private:
|
||||||
// Socket file descriptor
|
// Socket file descriptor
|
||||||
int sock_server;
|
int sock_server;
|
||||||
int sock_server_rev;
|
|
||||||
int sock_unix;
|
int sock_unix;
|
||||||
struct sockaddr_in server_addr;
|
struct sockaddr_in server_addr;
|
||||||
struct sockaddr_un server_addr_unix;
|
struct sockaddr_un server_addr_unix;
|
||||||
|
|||||||
@ -17,7 +17,7 @@ Socket::~Socket() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Socket::connect_server(const char *ip, uint16_t port) {
|
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);
|
server_addr.sin_port = htons(port);
|
||||||
if (inet_pton(AF_INET, ip, &server_addr.sin_addr) <= 0) {
|
if (inet_pton(AF_INET, ip, &server_addr.sin_addr) <= 0) {
|
||||||
throw runtime_error("Invalid IP address");
|
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) {
|
void Socket::bind_server(const char *ip, uint16_t port) {
|
||||||
// The UDP socket is already created in the constructor
|
struct sockaddr_in bind_addr;
|
||||||
server_addr.sin_port = htons(port);
|
memset(&bind_addr, 0, sizeof(bind_addr));
|
||||||
server_addr.sin_addr.s_addr = inet_addr(ip);
|
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_rev, (const struct sockaddr *)&server_addr, sizeof(server_addr)) < 0) {
|
if (bind(sock_server, (const struct sockaddr *)&bind_addr, sizeof(bind_addr)) < 0) {
|
||||||
perror("[!] bind() failed");
|
perror("[!] bind() failed");
|
||||||
throw runtime_error("Failed to bind UDP socket");
|
throw runtime_error("Failed to bind UDP socket");
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("[+] Bound UDP socket on %s:%d\n", ip, port);
|
printf("[+] Bound UDP socket on %s:%d\n", ip, port);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Socket::connect_unix(const char *ip, uint16_t 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 Socket::receive_server(void *buffer, size_t len) {
|
||||||
ssize_t recv_bytes = recv(sock_server_rev, buffer, len, 0);
|
ssize_t recv_bytes = recv(sock_server, buffer, len, 0);
|
||||||
if (recv_bytes < 0) {
|
if (recv_bytes < 0) {
|
||||||
perror("[!] recv() failed");
|
perror("[!] recv() failed");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
return recv_bytes;
|
return recv_bytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Socket::send_unix() {
|
void Socket::send_unix() {
|
||||||
@ -111,4 +113,3 @@ api_packet Socket::create_packet(uint8_t tracker_id) {
|
|||||||
api_packet Socket::get_packet() {
|
api_packet Socket::get_packet() {
|
||||||
return packet_data;
|
return packet_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user