Python中文
首页
教程
问答
标签
搜索
登录
注册
如何用Twisted连接两个程序
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个Twisted的echoserver,需要从echoclient获取输入。回声是一个图形用户界面(Panda3D)。客户端只在单击按钮时发送一条短消息。在</p> <p>所以我有一些不定期发送的消息(只有当点击按钮时)。在</p> <p>我怎样才能有一个永久性的连接反应器.运行()已在客户端程序的开始处启动)并发送消息。在</p> <p>我不想在EchoClient/connectionMade中编写轮询机制。我看到了一个gtk+的例子,但是不能翻译成Panda。怎么走。下面的代码根本不起作用,但让你知道我想要什么(基本上是永久连接,偶尔用户按下按钮时会发送一些信息)。在</p> <pre><code>from direct.showbase.ShowBase import ShowBase from direct.gui.DirectButton import DirectButton from panda3d.core import Vec3 from direct.task import Task from twisted.internet import protocol, reactor, defer from twisted.internet.task import LoopingCall from twisted.spread import pb FRAMERATE = 32 class LoginDialog: def __init__(self, deferred): self.deferredResult = deferred class EchoClient(ShowBase, protocol.Protocol): def __init__(self): ShowBase.__init__(self) self.echoer = echoer self.button = DirectButton(pos = Vec3(.1,0,.1), text = "Send request", scale = .1, pad = (.5, .5), rolloverSound = None, clickSound = None, command = self.Request) def Request(): self.echoer.transport.write("Message from client") def dataReceived(self, data): print "Server said: ", data cf = pb.PBClientFactory() cf.getRootObject().addCallback(EchoClient) reactor.connectTCP("localhost", 17000, cf) LoopingCall(taskMgr.step).start(1 / FRAMERATE) reactor.run() </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果您将客户机和服务器作为同一进程的一部分,那么您将始终(实际上总是)能够将信息从一个传递到另一个。在</p> <p>如果您使客户机和服务器的进程不同,那么可能没有满足您需求的解决方案。在</p> <p>你总是要做一些事情来建立两个过程之间的联系,而且这种联系总是有可能消失的。对不起的。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么在使用strptime时会出现未进行转换的数据错误?
2 回答
为什么在使用strptim时会出现这个datetime日期错误
3 回答
为什么在使用StyleFrame时索引列的标题不显示sf.至excel()?
8 回答
为什么在使用sum()函数时会发生“int”对象不可调用的错误?
8 回答
为什么在使用sympy.dsolve时会得到“'list'对象没有属性'func'”?
2 回答
为什么在使用tabla时会得到一个空的数据帧?
2 回答
为什么在使用tensorboard时需要add_graph()的第二个参数?
3 回答
为什么在使用TensorFlow Lite转换YOLOv4时,推断时间/大小没有改进?有什么可能的改进吗?
10 回答
为什么在使用Tensorflow加载训练批时会出现内存泄漏?
4 回答
为什么在使用tensorflow时会收到警告/错误(使用函数API,但未实现错误)
5 回答
为什么在使用tetpyclient发出POST请求时出现403错误?
3 回答
为什么在使用TextBlob时会出现HTTP错误?
3 回答
为什么在使用TFIDF时出现错误“IndexError:list index out of range”pyspark.ml.feature?
7 回答
为什么在使用timedelta格式化之后,我在python中的日期是错误的?
10 回答
为什么在使用timeit或exec函数时,函数中的变量不会在提供的全局命名空间中搜索?
4 回答
为什么在使用tkinter时不能使用复选框?
10 回答
为什么在使用todoistpythonapi时会返回这个奇怪的ID?
2 回答
为什么在使用TQM时,在调整图像大小时,处理时间会有很大的差异?
2 回答
为什么在使用Tweepy下载用户时间线时收到错误消息
5 回答
为什么在使用twitter帐户登录Django应用程序时重定向127.0.0.1:8000?
7 回答