我是python的初学者。我需要以不定义 K1、K2、K3 并手动为其分配 IP 地址和端口号的方式编写此代码的多线程版本。事实上,我希望 k1、k2 和 k3 中的每一个都被一个单独的线程替换,并且我可以使用不同的 IP 地址和端口号创建尽可能多的“k”。我做了几次尝试,仍然没有结果。如果有人可以帮助或给我线索,我将不胜感激。
这是代码:
def main():
global k1,k2,k3
k1.register_handler('BSSID', lambda *args, **kwargs: handle_bssid(**kwargs))
k1.register_handler('SSID', lambda *args,**kwargs: handle_ssid(**kwargs))
k2.register_handler('BSSID', lambda *args, **kwargs: handle_bssid(**kwargs))
k2.register_handler('SSID', lambda *args,**kwargs: handle_ssid(**kwargs))
k3.register_handler('BSSID', lambda *args, **kwargs: handle_bssid(**kwargs))
k3.register_handler('SSID', lambda *args,**kwargs: handle_ssid(**kwargs))
try:
while True:
k1.listen()
k2.listen()
k3.listen()
handle_merge()
except KeyboardInterrupt:
pprint(k1.protocols)
pprint(k2.protocols)
pprint(k3.protocols)
if __name__ == '__main__':
address1 = ('192.168.1.7', 2502)
k1 = KismetClient(address1)
address2 = ('192.168.1.16', 2502)
k2 = KismetClient(address2)
address3 = ('192.168.1.27', 2502)
k3 = KismetClient(address3)
main()