Twisted连接丢失事件

1 投票
1 回答
678 浏览
提问于 2025-04-15 19:38

我在用 twisted.words.protocols.jabber.client.XMPPClientFactory 这个工具。你知道怎么在连接断开时(比如说 WiFi 断了)调用一个函数吗?

谢谢你的帮助!

1 个回答

1

你可以选择为xmlstream.STREAM_END_EVENT添加一个启动程序,或者给clientConnectionLost设置一个延迟。

from twisted.words.protocols.jabber import client
from twisted.words.protocols.jabber import jid
from twisted.words.protocols.jabber import xmlstream

j = jid.JID("name@example.org/bla")
p = "some pass"

factory = client.XMPPClientFactory(j, p)

启动程序的方法

factory.addBootstrap(
    xmlstream.STREAM_END_EVENT,
    some_fuction,
)

或者

延迟的方法

d = defer.Deferred()
factory.clientConnectionLost = d

撰写回答