1

如何处理来自同一个事件循环的 Asyncore.dispatcher(s) 和 SimpleXMLRPCServer 事件?

PS 我已经知道你们中的一些人可能会为此推荐 Twisted,但 Twisted 的问题是它对于我的需求来说有点太高级了。特别是,我通过覆盖依赖于计时器的 Asyncore.dispatcher.writable() 方法来进行 UDP 流控制。不确定这是否/如何在 Twisted 中可行。

4

1 回答 1

1

您应该为此使用 Twisted :-)。您不能SimpleXMLRPCServer进入异步循环;它是同步代码,预计会阻塞。

使用 Twisted 进行流量控制,即使使用 UDP,也很容易。writable()您可以在其属性上DatagramProtocol调用类似stopReading///的方法stopWriting,而不是覆盖类似的方法startReading您可以在此处查看这些方法。startWritingtransport

于 2011-10-26T08:39:27.297 回答