我在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"
有用,謝謝! –