Changed ip class requirement, can be used without specifing a ip

multi_plaform
anulax1225 ago%!(EXTRA string=1 year)
parent 0990f71d50
commit 927c91a025
  1. 2
      bakanet/src/bakanet/sock_layer/ip_address.h
  2. 2
      bakanet/src/bakanet/sock_layer/ip_version.h
  3. 6
      bakanet/src/plaform/linux/linux_ip_address.cpp

@ -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");
return addr;
}
}
Loading…
Cancel
Save