Клиент с переподключением.

Наследование класса EthernetClientInterface

from extronlib.interface import EthernetClientInterface
from extronlib.system import Timer

class ClientEx(EthernetClientInterface):
    def __init__(self, elems):
        EthernetClientInterface.__init__(self, ip, port)
        self.ReceiveData = self.__ReceiveData
        self.Connected = self.__Connected
        self.Disconnected = self.__Disconnected
        self.tReconnect = 1
        self.timerConnect = Timer(self.tReconnect, self.__TryConnect)
        self.Start()

    def Start(self):
        c = self.Connect(.1)
        if c not in ('Connected', 'ConnectedAlready',): 
            self.__Disconnected(None,c)

    def __TryConnect(self,t,c):
        if c>3:
            self.timerConnect.Change(self.tReconnect*30)   
        self.Connect(.1)

    def __ReceiveData(self,interface,string):
        pass

    def __Connected(self,interface,string):
        self.timerConnect.Stop()
        self.timerConnect.Change(self.tReconnect)   

    def __Disconnected(self,interface,string):
        self.timerConnect.Restart()  

Last updated