草庐IT

twisted-iocpsupport

全部标签

python - 使用 Twisted Python 的 UDP 客户端和服务器

我想创建一个服务器和客户端,使用Twisted从网络发送和接收UDP数据包。我已经用Python中的套接字编写了这个,但想利用Twisted的回调和线程功能。但是,我在Twisted的设计方面需要帮助。我想接收多种类型的数据包,但我们假设只有一种:classPacket(object):def__init__(self,data=None):self.packet_type=1self.payload=''self.structure='!H6s'ifdata==None:returnself.packet_type,self.payload=struct.unpack(self.st

用于 Twisted 的 Python Jabber/XMPP 客户端库

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我正在寻找使用Twisted框架编写Jabber/XMPP客户端的Python库。

python - 使用 Twisted/Autobahn Websockets 编写 "interactive"客户端

也许我在Twisted的异步设计中遗漏了一些东西,但我似乎无法找到“外部”调用sendMessage()方法的方法。我的意思是,发送消息而不仅仅是在Twisted/AutobahnWebsockets的回调方法中(比如在onOpen或在onMessage()从服务器接收数据时)当然我可以启动一个线程并调用my_protocol_instance.sendMessage("hello")但这会破坏异步设计的所有目的吗?在一个具体的例子中,我需要一个顶级包装器类来打开连接并管理它,并且每当我需要时调用my_class.send_my_toplevel_message(msg)。我该如何实现

python - Twisted MySQL adbapi 返回字典

有什么方法可以将adbapi查询的字典结果返回给MySQL吗?[name:'Bob',phone_number:'91234567']默认返回元组。['Bob','91234567']对于简单的Python和MySQL,我们可以使用MySQLdb.cursors.DictCursor。但是如何将它与扭曲的adbapi一起使用UPD:我解决了它,但我认为应该有更好的方法。我的解决方案:只需覆盖adbapi.ConnectionPool类的*_runInteraction*方法。classMyAdbapiConnectionPool(adbapi.ConnectionPool):def_r

python - twisted + gtk : should I run GUI things in threads, 还是在 react 器线程中?

根据我对twisted的理解,在react器线程中运行的任何东西都不应阻塞。所有阻塞事件都应委托(delegate)给其他线程,以便在它们完成时将回调触发回react器线程。那么这也适用于gtk吗?例如,如果连接...失败,我想显示“连接失败”消息。我这样做吗:defconnectionFailed(self,reason):dlg=gtk.MessageDialog(type=gtk.MESSAGE_ERROR,buttons=gtk.BUTTONS_CLOSE,message_format="Couldnotconnecttoserver:\n%s"%(reason.getErro

python - Web 服务中的 Twisted 延迟与阻塞

我正在努力在使用Deferred对象的Web服务代码中产生与不使用Deferred对象的代码相同的行为。我的目标是编写一个装饰器,它将任何方法(与Twisted分离)的处理委托(delegate)给Twisted线程池,这样react器就不会被阻塞,而不会改变任何该方法的语义。当下面的类echo的实例作为Web服务公开时,此代码:fromtwisted.webimportserver,resourcefromtwisted.internetimportdefer,threadsfromcgiimportescapefromitertoolsimportcountclassecho(re

python - Pip 不会在 Windows 上安装 Twisted

我正在尝试在Windows8计算机上安装Twisted。在Twisted官网上,只有一个windows版的Wheel文件。https://twistedmatrix.com/trac/wiki/Downloads我已经安装了Zope和PyWin32。但是当我这样做的时候:pipinstallTwisted-16.0.0-cp27-none-win_amd64.whl我得到:Twisted-16.0.0-cp27-none-win_amd64.whlisnotasupportedwheelonthisplatform我已经看到并尝试了这两个主题的解决方案:filename.whlisno

python - 使用 Twisted 在 Python 中实现多进程服务器

我必须用Python编写一个受CPU限制的服务器,以便为多个内核分配工作负载。我想使用Twisted作为服务器(请求通过TCP传入)。有没有更好的选择——也许使用安瓶?我还看到一篇文章使用Twisted的pb与Popen一起进行通信-或者可能将其与multiprocessing结合使用? 最佳答案 Ampoule是多进程CPU绑定(bind)服务器的良好构建block。它使用更简单的AMP协议(protocol),而不是PB(通常不需要PB的复杂性,只是将作业数据移动到另一个进程然后检索结果)。它处理进程创建、生命周期管理、重启等。

python - 导入错误 : No module named twisted

我是python和twisted的新手,我尝试运行一个简单的twisted脚本但失败了。我的环境:MacOX10.7.2+Python2.7.1+Twisted11.0.0+eclipse+PyDev名为test.py的脚本:fromtwistedimportreactorreactor.run()我尝试在终端中运行它,一切正常。然后我打开eclipse并创建了一个新的PyDev项目,然后添加了一个名为test.py的py文件和输入上面的代码。当我尝试运行它时,出现如下错误:Traceback(mostrecentcalllast):File"/Users/user/Documents

python - twisted.internet.reactor 是全局性的吗?

例如,如果一个应用程序执行fromtwisted.internetimportreactor,而另一个应用程序执行相同的操作,那么这些reactors是否相同?我问是因为Deluge,一个使用twisted的应用程序,看起来它使用reactor将其UI(gtk)连接到由twisted驱动的应用程序的其余部分(我试图了解源代码)。例如,当UI关闭时,它只需调用reactor.stop()。仅此而已吗?这对我来说似乎有点神奇。如果我想运行另一个使用扭曲的应用程序怎么办? 最佳答案 是的,Python中的每个模块始终是全局的,或者更准确地