def handleUdpMessage(self, message, remoteAddr):
self.logger.debug(" handling decoded UDP message from server")
if str(message.deviceId) == str(self.deviceId):
self.logger.debug("Validating counters in incoming server message: local={0},{1}, message={2},{3}".format(self.udpSentCounter, self.udpReceivedCounter, message.counter1, message.counter2))
if (message.counter1 > self.udpReceivedCounter and message.counter2 >= self.udpSentCounter - 5):
self.udpReceivedCounter = message.counter1
self.logger.info("Counters OK. Received valid message from server at {0}:{1} with payload {2}".format(remoteAddr[0], remoteAddr[1], message.payload))
self.saveState()
self.passToHandler(message.payload)
else:
self.logger.warning("Invalid counters in incoming message. local={0},{1}, message={2},{3} - discarding".format(self.udpSentCounter, self.udpReceivedCounter, message.counter1, message.counter2))
else:
self.logger.warning("Device key mismatch! local=%s, incoming=%s", binascii.hexlify(self.deviceId), binascii.hexlify(message.deviceId))
评论列表
文章目录