예제 #1
0
    def __init__(self):
        AgentThreadedBase.__init__(self)
        self._failures=[]
        
        ## can't really fail here
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        
        try:
            self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
            ##The following doesn't work on Linux
            try:    self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
            except: pass
        except:
            self._failures.append("Socket Options: REUSEADDR")
        
        try:    
            self.socket.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_TTL, 255)
            self.socket.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_LOOP, 1)
        except:
            self._failures.append("Socket Options: Multicast")

        try:
            self.group = ('', _MDNS_PORT)
            self.socket.bind(self.group)
        except:
            # Some versions of linux raise an exception even though
            # the SO_REUSE* options have been set, so ignore it
            #
            pass
        self.socket.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF,   socket.inet_aton('0.0.0.0'))
        self.socket.setsockopt(socket.SOL_IP, socket.IP_ADD_MEMBERSHIP, socket.inet_aton(_MDNS_ADDR) + socket.inet_aton('0.0.0.0'))
예제 #2
0
파일: comms.py 프로젝트: qmutz/mdns-browser
    def __init__(self):
        AgentThreadedBase.__init__(self)
        self._failures = []

        ## can't really fail here
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

        try:
            self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
            ##The following doesn't work on Linux
            try:
                self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT,
                                       1)
            except:
                pass
        except:
            self._failures.append("Socket Options: REUSEADDR")

        try:
            self.socket.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_TTL, 255)
            self.socket.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_LOOP, 1)
        except:
            self._failures.append("Socket Options: Multicast")

        try:
            self.group = ('', _MDNS_PORT)
            self.socket.bind(self.group)
        except:
            # Some versions of linux raise an exception even though
            # the SO_REUSE* options have been set, so ignore it
            #
            pass
        self.socket.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF,
                               socket.inet_aton('0.0.0.0'))
        self.socket.setsockopt(
            socket.SOL_IP, socket.IP_ADD_MEMBERSHIP,
            socket.inet_aton(_MDNS_ADDR) + socket.inet_aton('0.0.0.0'))
예제 #3
0
 def __init__(self):
     AgentThreadedBase.__init__(self)
     self.logged={}
예제 #4
0
 def __init__(self):
     AgentThreadedBase.__init__(self)
예제 #5
0
 def __init__(self):
     AgentThreadedBase.__init__(self)
     self.services={}
     self.addresses={}
     self.newEntry=False
     self.justAnnounced=[]
예제 #6
0
파일: sup.py 프로젝트: qmutz/mdns-browser
 def __init__(self):
     AgentThreadedBase.__init__(self)
     self.num_agents_started = 0
     self.num_agents_halted = 0
예제 #7
0
 def __init__(self):
     AgentThreadedBase.__init__(self)
     self._generate()
예제 #8
0
 def __init__(self):
     AgentThreadedBase.__init__(self)
예제 #9
0
 def __init__(self):
     AgentThreadedBase.__init__(self)
     self._generate()
예제 #10
0
 def __init__(self):
     AgentThreadedBase.__init__(self)
     self.num_agents_started=0
     self.num_agents_halted=0
예제 #11
0
 def __init__(self):
     AgentThreadedBase.__init__(self)
     self.logged = {}