我有3台设备。设备A与设备C通信。设备B嗅探连接。我的代码工作正常但我不明白为什么decoder
对象在线程退出后(即control
为True
时)继续嗅探连接。
Decoder类对设备A和C之间的数据包进行解码,并且没有任何循环机制(当它作为单个脚本运行时,它运行一次然后退出)。
以下是问题所在的代码的简化版本(在设备B上运行):
class Thread_Class(Flag):
def run(self):
while(control == False):
self.parent.object.loop(0, self.handle_packets)
def handle_packets(self, ...):
# packet handling code using pcapy library
packet = ...
self.parent.decoder = Decoder(self)
self.parent.decoder.decode(packet)
答案 0 :(得分:0)
好的,我解决了......我在最后两行放置if control == False