python循环监控远程端口建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。

在ip.txt中每行一个ip地址和端口号,代码可循环监控这些ip地址的指定端口是否正常
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #!/usr/bin/env python
# -*- coding: gbk -*-
import socket,time
while 1:
file_obj = open( 'ip.txt' )
for line in file_obj:
try :
sc=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ip = line.split()[0]
port = int(line.split()[1])
print ip,port
#设置超时时间(0.0)
sc.settimeout(2)
sc.connect((ip,port))
timenow=time.localtime()
datenow = time. strftime ( '%Y-%m-%d %H:%M:%S' , timenow)
logstr= "%s:%s 连接成功->%s \n" %(ip,port,datenow)
print logstr
sc.close()
except:
file = open( "log.txt" , "a" )
timenow=time.localtime()
datenow = time. strftime ( '%Y-%m-%d %H:%M:%S' , timenow)
logstr= "%s:%s 连接失败->%s \n" %(ip,port,datenow)
print logstr
file.write(logstr)
file.close()
print "sleep 10....."
time.sleep(10)
|
ip.txt格式文件:
1 2 | 192.168.1.100 33001
192.168.1.101 33001
|