#!/usr/bin/python
# -*- coding: UTF-8 -*-
import socket
import sys
import time,os
from getLog import FinalLogger
import csv
import codecs
reload(sys)
sys.setdefaultencoding('utf-8')
'''
client端
长连接,心跳
'''
class dataProcess:
def __init__(self):
self.logger = FinalLogger.getLogger()
self.host = "*"
self.port = 5557
self.sock = self.doConnect(self.host,self.port)
def doConnect(self,host,port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try :
sock.connect((host,port))
except :
pass
return sock
def sendData(self):
try:
alarmData = self.alarmData()
#print alarmData
if alarmData:
strData = alarmData
else:
strData = self.heartBeat()
self.sock.send(strData)
print 'send ok'
print strData
self.logger.info(strData)
fileName = "/data/FBAndIPTVsocket/scriptFile/result.csv"
os.system(">%s" % (fileName));
except socket.error :
print "socket error,do reconnect "
self.sock = self.doConnect(self.host,self.port)
time.sleep(3)
except :
print 'other error occur '
time.sleep(3)
def alarmData(self):
fileName = "/data/FBAndIPTVsocket/scriptFile/result.csv"
os.system("sed -i 's/\"//g' %s" % (fileName));
strData=""
f = codecs.open(fileName,'r','utf-8')
s = f.readlines()
f.close()
for line in s:
strData = strData + line.encode('GBK')
return strData
def heartBeat(self):
strData1 = "<AlarmStart>"
strData2 = "IntVersion:V1.0.0"
strData3 = "MsgSerial:"
strData4 = "AlarmUniqueId:" + '91'
strData5 = "AlarmUniqueClearId:"
strData6 = "NeName:"
strData7 = "NeIp:"
strData8 = "SystemName:"
strData9 = "EquipmentClass:"
strData10 = "Version:V1.0"
strData11 = "LocateNeName:"
strData12 = "LocateNeType:"
strData13 = "LocateInfo:"
strData14 = "EventTime:"
strData15 = "CancelTime:"
strData16 = "VendorSeverity:三级告警"
strData17 = "VendorAlarmId:"
strData18 = "AlarmTitle:" + '心跳告警'
strData19 = "ProbableCauseTxt:"
strData20 = "AlarmText:"
strData21 = "AlarmStatus:1"
strData22 = "Vendor:" + '中兴'
strData23 = "maintain_group:"
strData24 = "<AlarmEnd>"
strDataU8 = "\r\n" + strData1 + "\r\n" + strData2 + "\r\n" + strData3 + "\r\n" + strData4 + "\r\n" + strData5 + "\r\n" + strData6 + "\r\n" + strData8 + "\r\n" + strData9 + "\r\n" + strData10 + "\r\n" + strData11 + "\r\n"+ strData12 + "\r\n" + strData13 + "\r\n" + strData14 + "\r\n" + strData15 + "\r\n" + strData16 + "\r\n" + strData17 + "\r\n" + strData18 + "\r\n" + strData19 + "\r\n" + strData20 + "\r\n" + strData21 + "\r\n" + strData22 + "\r\n" + strData23 + "\r\n" + strData24 + "\r\n"
strData = strDataU8.encode('GBK')
return strData
if __name__ == "__main__":
while True:
nDataProcess = dataProcess();
nDataProcess.sendData();
time.sleep(10)