0
我有一堆设备,我必须做一个脚本来知道如果telnet启用或不。所以我做了以下脚本:Python套接字 - 测试设备与Telnet启用
import socket
file = open('list', 'r')
file = file.readlines()
list = []
port = 23
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
for i in file:
i=i.replace('\n','')
list.append(i)
for i in host:
try:
s.connect((i, port))
s.shutdown(2)
print (i+' Telnet is enable')
except:
print (i+' Telnet is disable')
问题是,第一次测试显示telnet启用后,所有设备都显示为禁用。我检查我得到的错误,错误如下:
socket.error: (133, 'Transport endpoint is already connected')
我知道这与关闭第一次会话有关,但我无法做到。在此先感谢
http://stackoverflow.com/a/13110002/477878 – 2013-03-04 14:39:51
为什么不只是['close(关闭)](http://docs.python.org/2/library/socket.html#socket.socket.close)连接? – 2013-03-04 14:41:16
如果我做s.close ()然后我尝试打开一个新的,我得到这个错误'socket.error:(9,'Bad file descriptor')' – amb1s1 2013-03-04 14:45:15