0 Вопрос: Примерно каждые 15 дней XMPP-соединение с Firebase Cloud Messaging (FCM) закрывается. Как правильно восстановить соединение?

вопрос создан в Wed, May 8, 2019 12:00 AM

, почему я получаю отрицательные голоса? Сервер FCM отключается, и я не знаю почему, и я пытаюсь переподключиться, но снова он отключен я хотел бы получить объяснение этой проблемы

у меня есть клиент XMPP python, использующий библиотеку Xmpppy, она работает хорошо в течение многих дней, после нескольких дней работы библиотека выдает ошибку, поскольку FCM закрыл сервер это ошибка показала

Ошибка ввода-вывода: отключен от сервера

я ловлю исключение с помощью try catch, а позже я перезапустил соединение

class Client_xmpp:      
    def __init__(self):
        self.SASL_DOMAIN = 'fcm.googleapis.com'
        self.FCM_ENDPOINT = 'fcm-xmpp.googleapis.com'
        self.PORT = 5235
        self.USERNAME = "secret"
        self.PASSWORD = "secret" 
        self.client = xmpp.Client(self.SASL_DOMAIN, debug=['socket'],
                                        port=self.PORT)                           
        self.client.connect(server=(self.FCM_ENDPOINT ,self.PORT), secure=1, use_srv=False)

    def restart(self):  
        self.__init__()
        self.start()

    def start(self,temporal=False):
        try:            
            auth = self.client.auth(self.USERNAME, self.PASSWORD)
            if not auth:
              print 'Authentication failed!'
              sys.exit(1)   

            print "suceess !!!!!!!!!!!!!!!!"
            self.client.RegisterHandler('message', self.message_callback)           
            if temporal:
                self.temporal_loop()
            else:               
                self.infinite_loop() 

        except Exception as e:                          
            print e
            time.sleep(2)           
            self.restart()

я могу перезапустить соединение, но через несколько минут или после нескольких часов FCM снова закроет сервер, и я уловлю ту же ошибку

Ошибка ввода-вывода: отключен от сервера

и у меня 6 клиентов XMPP, работающих на Amazon ECS, и в тот же день у 6 работающих клиентов XMPP возникает та же проблема

по этой причине весь день клиенты XMPP выходят из строя

через 1 день с ошибками моих клиентов XMPP все работает хорошо, но примерно через 15 дней снова возникают те же проблемы, это повторяющийся цикл

почему это случилось? Как правильно перезапустить соединение?

    
- 1
0 ответов                              0                         
источник размещен Вот