def recvfrom_into(self, buffer, nbytes=None, flags=0): self._checkClosed() if self._sslobj: raise ValueError("recvfrom_into not allowed on instances of %s" % self.__class__) else: return socket.recvfrom_into(self, buffer, nbytes, flags)
def read_responses(socket): res = [] response = array.array("B", [0] * DISCOVER_RESPONSE_SIZE) try: while 1: size, src = socket.recvfrom_into(response) if (size == DISCOVER_RESPONSE_SIZE and response[0] == DISCOVER_PROTO_ID and response[1] == DISCOVER_RESPONSE and check_sum(response)): dev = {} dev["addr"] = src[0] dev["descr"] = response[2:-1].tostring().rstrip("\0") res.append(dev) except timeout: return res