gpt4 book ai didi

python - 让 Twisted 在后台工作

转载 作者:太空宇宙 更新时间:2023-11-03 18:50:01 26 4
gpt4 key购买 nike

您好,我是 Twisted 的新手,我想将其用作我的客户端/服务器升级。

我有一个可以进行一些单元测试的软件,我想添加 Twisted。

有 2 台计算机,1 台用于控制测试(客户端),1 台用于测试特定单元(服务器)

服务器部分使用twisted没有问题。因为当激活 react 器时,服务器正在监听并等待来自客户端的请求。

在客户端部分我遇到了一些问题。

当凝视客户时

reactor.run()

软件进入事件驱动模式并等待事件...(连接、发送...)问题是我想做很多事情,而不仅仅是观看我的交流。

假设我有一个函数:

voltage = self.UnitTest.GetVoltage()

if voltage........

current = self.UnitTest.GetCurrent()

if current.....

我希望 UnitTest 方法将其请求发送给扭曲的客户端,这可能吗?

最佳答案

如果是为了测试,请查看文档:unit test with trial

要编写测试,您可以使用经典的回调方式进行:

from twisted.internet import defer

class SomeWarningsTests(TestCase):
def setUp(self):
#init your connection , return the deferred that callback when is ready
def tearDown(self):
# disconnect from the server
def getVoltage(self):
#connect to you serveur and get the voltage , so return deferred
def test_voltage(self):
def testingVoltage(result):
if not result:
raise Exception("this not normal")
return result
return self.getVoltage.addCallback(testingVoltage)

#other way
def getCurrent(self):
#connect to you serveur and get the current(?) , so return deferred

@defer.inlineCallbacks
def test_current(self):
current = yield self.getCurrent()
if not current:
raise Exception("this not normal")
defer.returnValue(current)

关于python - 让 Twisted 在后台工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18567676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com