因此,在最近的一次讲座中学习了一点python之后,我决定开发一个脚本,该脚本将在用户定义的类范围内查找pc的ip地址和ping地址。你知道吗
然后它应该将活动地址列表返回到一个文件中。 目前,它的工作,但非常缓慢,因为它有一个默认的超时20秒,每次尝试。你知道吗
我试过使用s.settimeout和s.setdefaulttimeout等命令,但是当我设置它们时,它没有正确地尝试连接,这会导致说除了第一个地址之外的每个地址都是非活动的,因为它以光速通过连接。下面是处理这一切的函数。 ipsections是一个列表,每个节中都有ip地址八位字节,z是当前未使用的变量,可供将来使用。你知道吗
def connect(ipSections,z):
#socket.setdefaulttimeout(5)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#s.settimeout(float(1))
d=0
for x in range (0,255):
host = ipSections[0]+'.'+str(x+1)
print(host)
try:
print(host)
s.connect((host, 80))
s.shutdown(2)
s.close()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
f.write(host+'\n')
#f.write('\n')
print ('Y')
except socket.error as e:
d=d+1
print('n')
return d
d=connect(ipSections,z)
正如我说的,它工作得很好,但是如果我去掉默认超时的注释,它就不工作了。你知道吗
另外,我在3.5中写了它
尝试像这样移动套接字创建代码:
否则,在第一个套接字错误之后,您将对空套接字描述符执行操作
相关问题 更多 >
编程相关推荐