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 class IpAddress
{ {
public: public:
IpAddress(std::string ip, IpVersion ipv = IpVersion::IPv4) IpAddress(std::string ip = "", IpVersion ipv = IpVersion::IPv4)
: str(ip), version(ipv) { } : str(ip), version(ipv) { }
struct in_addr get_data(); struct in_addr get_data();

@ -3,7 +3,7 @@
namespace Bk::Net { namespace Bk::Net {
enum class IpVersion enum class IpVersion
{ {
UnSpec = AF_UNSPEC, UNSPEC = AF_UNSPEC,
IPv4 = AF_INET, IPv4 = AF_INET,
IPv6 = AF_INET6, IPv6 = AF_INET6,
}; };

@ -5,7 +5,11 @@ namespace Bk::Net {
struct in_addr IpAddress::get_data() struct in_addr IpAddress::get_data()
{ {
struct in_addr addr; 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; return addr;
} }
} }
Loading…
Cancel
Save