def __init__(self, cmd, addr, port, name, domainname=""):
if cmd not in [0x1, 0x2]:
raise ValueError("cmd should be either command or bind")
try:
addr = ipaddress.IPv4Address(addr)
except ipaddress.AddressValueError:
raise ValueError("Invalid ipaddress format for IPv4")
if int(addr) == 1 and len(domainname) == 0:
raise ValueError("Domain name should be specified when addr is 1")
if not isinstance(name, string_func) or not isinstance(domainname, string_func):
raise ValueError("name or domainname must be a unicode string")
self.cmd = cmd
self.port = port
self.name = name
if domainname:
self.addr = ipaddress.IPv4Address(1)
else:
self.addr = addr
self.domainname = domainname
评论列表
文章目录