|
|
|
@ -72,8 +72,11 @@ char* Server::recvAllNB() {
|
|
|
|
|
/* Convert the s_addr field of the caseted struct to host network-byte, and convert it to a dotted decimal */
|
|
|
|
|
peer_addr = connect_code::dec_to_dotted_dec(std::to_string(htonl(temp_struct->sin_addr.s_addr)));
|
|
|
|
|
} else {
|
|
|
|
|
/* FOR IPv6 */
|
|
|
|
|
peer_addr = "IPV6 NOT SUPPORTED YET";
|
|
|
|
|
/* FOR IPv6 - Use the inet_ntop function, and convert the struct's address into a string */
|
|
|
|
|
struct sockaddr_in6* temp_struct = (struct sockaddr_in6*)this->dest;
|
|
|
|
|
char* temp_buf = (char *)malloc(sizeof(char) * (INET6_ADDRSTRLEN + 1));
|
|
|
|
|
peer_addr = std::string(inet_ntop(AF_INET6, temp_struct->sin6_addr.s6_addr, temp_buf, INET6_ADDRSTRLEN));
|
|
|
|
|
free(temp_buf);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return to_return;
|
|
|
|
@ -98,8 +101,7 @@ called immediately after the constructor. If the socket is TCP, it also sets the
|
|
|
|
|
socket to listen for incoming connections. This function throws an exception if
|
|
|
|
|
the socket could not be created. The excpetion is an integer corresponding to the errno
|
|
|
|
|
of the failing function, and enables the caller to print a corresponding error message by
|
|
|
|
|
'catching' the thrown exception and using strerror().
|
|
|
|
|
This function also sets a timeout of 100ms for UDP sockets */
|
|
|
|
|
'catching' the thrown exception and using strerror().*/
|
|
|
|
|
|
|
|
|
|
void Server::create_socket() {
|
|
|
|
|
Sock::create_socket();
|
|
|
|
|