diff --git a/bakanet/src/bakanet/sock_layer/ip_address.h b/bakanet/src/bakanet/sock_layer/ip_address.h index 43fa92e..46a8102 100755 --- a/bakanet/src/bakanet/sock_layer/ip_address.h +++ b/bakanet/src/bakanet/sock_layer/ip_address.h @@ -7,7 +7,7 @@ namespace Bk::Net { class IpAddress { public: - IpAddress(std::string ip, IpVersion ipv = IpVersion::IPv4) + IpAddress(std::string ip = "", IpVersion ipv = IpVersion::IPv4) : str(ip), version(ipv) { } struct in_addr get_data(); diff --git a/bakanet/src/bakanet/sock_layer/ip_version.h b/bakanet/src/bakanet/sock_layer/ip_version.h index 374363b..0342511 100755 --- a/bakanet/src/bakanet/sock_layer/ip_version.h +++ b/bakanet/src/bakanet/sock_layer/ip_version.h @@ -3,7 +3,7 @@ namespace Bk::Net { enum class IpVersion { - UnSpec = AF_UNSPEC, + UNSPEC = AF_UNSPEC, IPv4 = AF_INET, IPv6 = AF_INET6, }; diff --git a/bakanet/src/plaform/linux/linux_ip_address.cpp b/bakanet/src/plaform/linux/linux_ip_address.cpp index b6b9133..7ef3db8 100755 --- a/bakanet/src/plaform/linux/linux_ip_address.cpp +++ b/bakanet/src/plaform/linux/linux_ip_address.cpp @@ -5,7 +5,11 @@ namespace Bk::Net { struct in_addr IpAddress::get_data() { struct in_addr addr; - if (inet_pton(AF_INET, str.c_str(), &addr) <= 0) perror("Bad IP"); + if (!str.length()) { + addr.s_addr = INADDR_ANY; + return addr; + } + else if (inet_pton(AF_INET, str.c_str(), &addr) <= 0) perror("Bad IP"); return addr; } } \ No newline at end of file