fix printing incoming ips on server side
This commit is contained in:
18
src/main.cpp
18
src/main.cpp
@@ -102,6 +102,15 @@ void serialize_addrinfo(struct addrinfo* in) {
|
|||||||
|
|
||||||
#define PORT "8000"
|
#define PORT "8000"
|
||||||
|
|
||||||
|
void *get_in_addr(struct sockaddr *sa)
|
||||||
|
{
|
||||||
|
if (sa->sa_family == AF_INET) {
|
||||||
|
return &(((struct sockaddr_in*)sa)->sin_addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
return &(((struct sockaddr_in6*)sa)->sin6_addr);
|
||||||
|
}
|
||||||
|
|
||||||
void run_server() {
|
void run_server() {
|
||||||
struct addrinfo *servinfo = {};
|
struct addrinfo *servinfo = {};
|
||||||
struct addrinfo hints = {};
|
struct addrinfo hints = {};
|
||||||
@@ -163,7 +172,7 @@ void run_server() {
|
|||||||
// @todo: this might be a little wrong, also the win32 and unix seem to differ on field names in sockaddr
|
// @todo: this might be a little wrong, also the win32 and unix seem to differ on field names in sockaddr
|
||||||
char s[INET6_ADDRSTRLEN];
|
char s[INET6_ADDRSTRLEN];
|
||||||
sockaddr *n = (sockaddr *)&their_addr;
|
sockaddr *n = (sockaddr *)&their_addr;
|
||||||
inet_ntop(their_addr.ss_family, n->sa_data, s, sizeof(s));
|
inet_ntop(their_addr.ss_family, get_in_addr((struct sockaddr *)&their_addr), s, sizeof(s));
|
||||||
debugf("server: got connection from: %s", s);
|
debugf("server: got connection from: %s", s);
|
||||||
|
|
||||||
const char *msg = "Hello world";
|
const char *msg = "Hello world";
|
||||||
@@ -174,14 +183,7 @@ void run_server() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void *get_in_addr(struct sockaddr *sa)
|
|
||||||
{
|
|
||||||
if (sa->sa_family == AF_INET) {
|
|
||||||
return &(((struct sockaddr_in*)sa)->sin_addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
return &(((struct sockaddr_in6*)sa)->sin6_addr);
|
|
||||||
}
|
|
||||||
|
|
||||||
void run_client() {
|
void run_client() {
|
||||||
struct addrinfo *servinfo = {};
|
struct addrinfo *servinfo = {};
|
||||||
|
|||||||
Reference in New Issue
Block a user