@ -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();
@ -3,7 +3,7 @@
namespace Bk::Net {
enum class IpVersion
UnSpec = AF_UNSPEC,
UNSPEC = AF_UNSPEC,
IPv4 = AF_INET,
IPv6 = AF_INET6,
};
@ -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");