Witam, potrzebuję pomocy w zrozumieniu i konwersji tego kodu:
AUTODISCOVER_MESSAGE = b''
AUTODISCOVER_ADDR = b'<broadcast>'
AUTODISCOVER_PORT = 28000
AUTODISCOVER_TIMEOUT = 3
def discoverHosts(self, addr = AUTODISCOVER_ADDR, port = AUTODISCOVER_PORT, timeout = AUTODISCOVER_TIMEOUT):
# Otwiera UDP socket
dis_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
dis_sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, True)
dis_sock.settimeout(timeout)
dis_sock.sendto(self.AUTODISCOVER_MESSAGE, (addr, port))
retval = list()
try:
while True:
data, addr = dis_sock.recvfrom(1024)
if len(data) > 0:
try:
resp_data = json.loads(data.decode('utf-8'))
resp_data['addr'] = addr[0]
retval.append(resp_data)
print('Host found: ', resp_data)
except:
print('Received bogus data from ', addr)
else:
print('Received bogus data from ', addr)
except:
pass
dis_sock.close()
return retval
Niestety nie mogę ogarnąć tego, próbowałem przejrzeć dokumentację C#, ale nic nie przychodzi mi do głowy.