我在socket.gethostbyaddr()
上玩得很开心,正在搜索如何加速一个非常简单的代码,它可以随机生成一些IP地址并尝试解决它们。问题来了,当没有主机可以被发现,有一个超时时间可以很长(约10秒...)使用asyncore实现gethostbyaddr()
偶然,我发现这篇文章,他通过使用多线程解决了问题:https://www.depier.re/attempts_to_speed_up_gethostbyaddr/
我想知道是否有可能使用Asyncore做同样的事情?这是我第一次尝试这样做,但悲惨地失败了......
这里是一个模板:
import socket
import random
def get_ip():
a = str(random.randint(140,150))
b = str(random.randint(145,150))
c = str(random.randint(145,150))
for d in range(100):
addr = a + "." + b + "." + c +"."+ str(1 + d)
yield addr
for addr in get_ip():
try:
o = socket.gethostbyaddr(addr)
print addr + "...Ok :"
print "---->"+ str(o[0])
except:
print addr + "...Nothing"
有用,谢谢! –