我正在使用xmpppy libary编写一个XMPP IM机器人。
我想对断开连接采取行动,但我不知道如何检测断开连接。如果您的Jabber服务器崩溃或者您丢失了互联网连接,可能会发生这种情况。
我找到了回调函数RegisterDisconnectHandler(self, DisconnectHandler)
,但它不适用于网络故障,它只在我明确调用方法“disconnect”时才有效。
如何检测网络故障或服务器崩溃?
答案 0 :(得分:0)
您是否在网络出现故障后尝试等待30 分钟?根据您的网络堆栈设置,可能需要很长时间才能检测到。但是,如果您没有定期发送套接字,则可能从不检测到中断。这就是为什么许多XMPP堆栈使用如下算法定期发送单个空格字符的原因:
N
秒N