python socket监控软件框架

服务器端:

#!/usr/bin/env python
import SocketServer
import datetime
import pickle
pfile ='h_dic.pkl'

host_status = {}
f = open('client.txt')
while True:
        line = f.readline().split()
        if len(line)==0:break
        host_status[line[0]] = []
f.close()


class myMonitorHandler(SocketServer.BaseRequestHandler):
        '''This is the Monitor server'''
        def handle(self):
                recv_data = self.request.recv(1024)
                if self.client_address[0] == '192.168.177.130':
                        f = file(pfile,'w')
                        pickle.dump(host_status,f)
                        f.close()
                if self.client_address[0] in host_status.keys():
                        host_status[self.client_address[0]].append((datetime.datetime.now(),recv_data))
                        print'From %s: %s %s'%(self.client_address,datetime.datetime.now(),recv_data)
                else:
                        print'sorry,ip % is not in the monitor list'% self.client_address[0]
                for t,m in host_status.items():
                        print t,m
if __name__ == "__main__":
host,port = '',18000

        server = SocketServer.ThreadingTCPServer((host,port),myMonitorHandler)
        server.serve_forever()

  客户端:

import socket
import time
host,port = '192.168.177.130',18000
while True:
        s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        s.connect((host,port))
        s.send('up')
        s.close()
        time.sleep(30)

  辅程序端:

#!/usr/bin/env python

import pickle
import datetime


f = file('h_dic.pkl','rb')
host_status = pickle.load(f)
for h,m in host_status.items():
        if len(m) !=0:
                old_time = m[-1][0]
                time_diff = (datetime.datetime.now() - old_time).seconds
                if time_diff > 30:
                        print 'NO data received from %s for %s,please check'%(h,time_diff)
                else:
                        print h,(datetime.datetime.now() - old_time).seconds

  

posted @ 2017-08-05 15:10  小心脏  阅读(910)  评论(0)    收藏  举报