Python线程套接字

时间:2010-08-25 02:22:24

标签: python multithreading sockets

我正在尝试为此答案实现线程功能: 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()解析的主机,以解决速度问题。

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:1)

我认为他确实给了你答案,去阅读文档然后当你对实现线程代码有具体问题时再回来......如果你读过已经提到过的关于devshed的文章,你可以看到你是如何创建你的拥有自己的线程类,并将你想要使用的ip地址传递给线程,并将你的工作代码放在那里,使用某种线程安全队列,线程可以放回你所追求的任何信息。

答案 1 :(得分:0)

我曾写过multi-threaded port scanner。随意使用它来提高性能的一些想法。随着时间的推移,它已得到改进和重构,因此它不提供简洁的示例,而是使用可重用的组件实现更强大的实现。我希望核心思想不被抽象所掩盖。

答案 2 :(得分:-1)

这个问题不是很具体。听起来像是:“我需要线程支持我的代码,请为我做好工作。”

请阅读docs about threading in Python以及Queue课程等相关主题。如果您有更具体的问题,请回来再问一次。