我正在尝试为此答案实现线程功能: Scanning a Class C network Python
到目前为止,我有这样的事情:
...[snip]..
m = re.search("/", str(host))
if m :
net,_,mask = host.partition('/')
mask = int(mask)
net = atod(net)
for host in (dtoa(net+n) for n in range(0, 1<<32-mask)):
try:
mycustomsocket(host)
except:
print host+" is down"
pass
else:
mycustomsocket(host)
我正在寻找的,就是打开255个线程来扫描所有使用mycustomsocket()解析的主机,以解决速度问题。
非常感谢任何帮助!
答案 0 :(得分:1)
我认为他确实给了你答案,去阅读文档然后当你对实现线程代码有具体问题时再回来......如果你读过已经提到过的关于devshed的文章,你可以看到你是如何创建你的拥有自己的线程类,并将你想要使用的ip地址传递给线程,并将你的工作代码放在那里,使用某种线程安全队列,线程可以放回你所追求的任何信息。
答案 1 :(得分:0)
我曾写过multi-threaded port scanner。随意使用它来提高性能的一些想法。随着时间的推移,它已得到改进和重构,因此它不提供简洁的示例,而是使用可重用的组件实现更强大的实现。我希望核心思想不被抽象所掩盖。
答案 2 :(得分:-1)
这个问题不是很具体。听起来像是:“我需要线程支持我的代码,请为我做好工作。”
请阅读docs about threading in Python以及Queue课程等相关主题。如果您有更具体的问题,请回来再问一次。