LAN'daki Bütün Cihazların IP Adreslerini Bulma

Doğru ya, UDP niye aklıma gelmedi bilmiyorum. Çözümünüz ihtiyacımı karşıladı, teşekkür ederim.

Şöyle bir kod yazdım, eksiği varsa düzeltirsiniz diye ekliyorum:

import socket
import select

class Getter:
    def __init__(self):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.socket.bind(('',64321))
        self.ips = []

    def update(self):
        while select.select((self.socket,),(),(),0)[0]:
            m=self.socket.recvfrom(1024)
            ip = m[1][0]
            if m[0][0]:
                if ip not in self.ips:
                    self.ips.append(ip)
            else:
                try:
                    self.ips.remove(ip)
                except ValueError: pass
        return self.ips
    
class Broadcaster:
    def __init__(self):
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)

    def broadcast(self, bool_: bool):
        """Cihazın bağlanmaya müsait olup olmadığını duyur."""
        if bool_:
            self.socket.sendto(b'\x01',('255.255.255.255',64321))
        else:
            self.socket.sendto(b'\x00',('255.255.255.255',64321))

4 Beğeni