为什么我收到否决票? FCM服务器正在断开连接,我不知道为什么,我尝试重新连接,但再次断开连接 我想对此问题进行解释
我有一个使用库Xmpppy的XMPP python客户端,它可以正常工作很多天,经过几天的运行,库显示错误,因为FCM关闭了服务器 这是显示的错误
IOError:与服务器断开连接
我用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再次关闭服务器,我遇到相同的错误
IOError:与服务器断开连接
并且我有6个XMPP客户端在Amazon ECS上运行,并且同一天,这6个正在运行的XMPP客户端发生相同的问题
由于这个原因,XMPP客户端整天失败
我的XMPP客户端失败1天后,一切正常,但是大约15天后又再次出现相同的问题,这是一个重复的周期
为什么会这样?重新启动连接的正确方法是什么?