Как переподключиться сразу после слива соединения FCM?

У меня есть клиентский XMPP с sleekxmpp, и все работает хорошо, но когда я получаю истощение соединения, я жду, пока соединение не закроется, но повторное соединение занимает более 10 секунд, и FCM продолжает отправлять сообщения на мое старое закрытое соединение, потому что некоторые сообщения из приложения Android пропускаются

с Sleeekxmpp я использую плагин xep_0199 с минимальным тайм-аутом для быстрого обнаружения разъединения, но даже при этом повторное подключение занимает более 10 секунд, и в это время сообщения пропускаются

self.register_plugin('xep_0199', {'keepalive': True, 'interval': 1, 'timeout': 1})  
//////////////////////////////
if data.message_type == GCMMessageType.CONTROL:             
    if data.control_type == 'CONNECTION_DRAINING':
    self.connection_draining = True
////////////////////////////////////////
if self.connection_draining:
    ##i send messages using another connection (a http connection)
    self.push_service.single_device_data_message(registration_id=id, 
        data_message=payload)   

Как я уже говорил, для повторного подключения всегда требуется более 10 секунд, и в течение этого времени я пропускаю сообщения, отправленные из моего приложения для Android

0 ответов

Другие вопросы по тегам