python利用SocketServer和multiprocessing实现传输监控数据,分为服务端和客户端,这里通过pickle模块实现数据的条带化,减少空间的占用。由于只是出于演示,这里只传uptime的值过去。
一、服务端
#!/usr/bin/env python
import multiprocessing
import os,sys
import SocketServer,time
import pickle
class MyTCPHandler(SocketServer.BaseRequestHandler):
def handle(self):
print 'got a connection from:',self.client_address[0]
self.data = self.request.recv(1024).strip()
if not self.data:
print 'Client is disconnected...',self.client_address[0]
if self.data == 'InsertData':
print self.data
print "going to receive date",self.data
self.request.send('ReadyToReceiveFile')
data = self.request.recv(4096)
if data == 'DataSendDone':
print 'Transfer is done.'
else: