如何处理来自同一个事件循环的 Asyncore.dispatcher(s) 和 SimpleXMLRPCServer 事件?
PS 我已经知道你们中的一些人可能会为此推荐 Twisted,但 Twisted 的问题是它对于我的需求来说有点太高级了。特别是,我通过覆盖依赖于计时器的 Asyncore.dispatcher.writable() 方法来进行 UDP 流控制。不确定这是否/如何在 Twisted 中可行。
如何处理来自同一个事件循环的 Asyncore.dispatcher(s) 和 SimpleXMLRPCServer 事件?
PS 我已经知道你们中的一些人可能会为此推荐 Twisted,但 Twisted 的问题是它对于我的需求来说有点太高级了。特别是,我通过覆盖依赖于计时器的 Asyncore.dispatcher.writable() 方法来进行 UDP 流控制。不确定这是否/如何在 Twisted 中可行。
您应该为此使用 Twisted :-)。您不能SimpleXMLRPCServer
进入异步循环;它是同步代码,预计会阻塞。
使用 Twisted 进行流量控制,即使使用 UDP,也很容易。writable()
您可以在其属性上DatagramProtocol
调用类似stopReading
///的方法stopWriting
,而不是覆盖类似的方法startReading
。您可以在此处查看这些方法。startWriting
transport