Пример #1
0
def RproSocket(host, port, cmd, type=None):
	'''
	@host: 主机IP
	@port: 主机端口
	@cmd:  指令
	'''
	cmd = str(cmd)
	# 开始通信
	try:
		i = 0
		while True:
			time.sleep(round(float(random.randrange(0, 10000, 1))/10000,4))
			data = socketSend(host,port,cmd,type='result')

			if data == False:
				continue

			if decode(data) == 'result_send_ok' or i > 10:
				break
			i = i + 1		
			
	except Exception as e:
		save_log('ERROR','RproSocket error:'+ str(e))
		return False
	
	return 1
Пример #2
0
def RproSocket(host, port, cmd, type=None):
    '''
	@host: 主机IP
	@port: 主机端口
	@cmd:  指令
	'''
    cmd = str(cmd)
    # 开始通信
    try:
        i = 0
        while True:
            time.sleep(round(float(random.randrange(0, 10000, 1)) / 10000, 4))
            data = socketSend(host, port, cmd, type='result')

            if data == False:
                continue

            if decode(data) == 'result_send_ok' or i > 10:
                break
            i = i + 1

    except Exception as e:
        save_log('ERROR', 'RproSocket error:' + str(e))
        return False

    return 1
Пример #3
0
def FproSocket(host, port, cmd, type=None):
	'''
	@host: 主机IP
	@port: 主机端口
	@cmd:  指令
	'''

	# 开始通信
	try:
		sock = socket.socket()
		sock.settimeout(SOCKET['PROTIMEOUT'])
		sock.connect((host, port))
		if type:
			sock.send(encode(cmd + type))
		else:
			if host == '127.0.0.1':
				sock.send(cmd)
			else:
				sock.send(encode(cmd))
		
		sock.close()

	except Exception as e:
		save_log('ERROR',str(e))
		return False
	
	return 1
Пример #4
0
def FproSocket(host, port, cmd, type=None):
    '''
	@host: 主机IP
	@port: 主机端口
	@cmd:  指令
	'''

    # 开始通信
    try:
        sock = socket.socket()
        sock.settimeout(SOCKET['PROTIMEOUT'])
        sock.connect((host, port))
        if type:
            sock.send(encode(cmd + type))
        else:
            if host == '127.0.0.1':
                sock.send(cmd)
            else:
                sock.send(encode(cmd))

        sock.close()

    except Exception as e:
        save_log('ERROR', str(e))
        return False

    return 1
Пример #5
0
def proSocket(host, port, cmd, type=None):
    '''
	@host: 主机IP
	@port: 主机端口
	@cmd:  指令
	'''

    data = ''
    try:
        i = 0
        while True:
            data = socketSend(host, port, cmd, type=None)
            if data or i > 6:
                break
            i = i + 1

        try:
            data = decode(data)

        except Exception as e:

            time.sleep(SOCKET['DELAY'] + 1)

            i = 0
            while True:
                data = socketSend(host, port, cmd, type=None)
                if data or i > 3:
                    break
                i = i + 1

            try:
                data = decode(data)
            except Exception as e:

                save_log('ERROR', 'recv decode error:' + str(e) + str(host))
                return False
    except Exception as e:

        save_log(
            'ERROR', 'ip: ' + host + ' , port: ' + str(port) +
            ' , proSocket other error: ' + str(e))
        #sock.close()
        return False

    return data
Пример #6
0
def proSocket(host, port, cmd, type=None):
	'''
	@host: 主机IP
	@port: 主机端口
	@cmd:  指令
	'''

	data = ''
	try:
		i = 0
		while True:
			data = socketSend(host,port,cmd,type=None)
			if data or i > 6:
				break
			i = i + 1		
	
		try:
			data = decode(data)
			
		except  Exception as e:
		
			time.sleep(SOCKET['DELAY']+1)
			
			i = 0
                	while True:
                        	data = socketSend(host,port,cmd,type=None)
                        	if data or i > 3:
                                	break
                        	i = i + 1		
	
			try:
				data = decode(data)
			except  Exception as e:
				
				save_log('ERROR','recv decode error:'+str(e)+str(host))
				return False
	except Exception as e:
		
		save_log('ERROR','ip: '+host+' , port: '+str(port)+' , proSocket other error: '+str(e))
	
		return False
	
	return data
Пример #7
0
def socketSend(host, port, cmd, type=None):
    '''
	@host: 主机IP
	@port: 主机端口
	@cmd:  指令	
	'''

    if PortIsAlive(host, port, count=SOCKET['COUNT']) == False:
        return False

    data = d = ''

    try:
        sock = socket.socket()
        #settimeout后导致出现很多time out异常
        #参考文档:http://www.douban.com/note/174791641/
        #sock.settimeout(SOCKET['PROTIMEOUT'])

        sock.connect((host, port))

        if type == 'result' and host == '127.0.0.1':
            sock.send(cmd)
        else:
            sock.send(encode(cmd))

        while True:
            d = sock.recv(SOCKET['BUFSIZE'])
            data = data + d
            time.sleep(0.003)
            if not d:
                sock.close()
                return data

    except Exception as e:

        save_log(
            'ERROR', 'ip: ' + host + ' , port: ' + str(port) +
            ' , socketSend  error: ' + str(e))
        sock.close()

        return False
Пример #8
0
def socketSend(host,port,cmd,type=None):
	'''
	@host: 主机IP
	@port: 主机端口
	@cmd:  指令	
	'''

	if PortIsAlive(host, port,count=SOCKET['COUNT']) == False:
		return False
	
	data = d = ''
	
	try:
		sock = socket.socket()
		#settimeout后导致出现很多time out异常
		#参考文档:http://www.douban.com/note/174791641/
		#sock.settimeout(SOCKET['PROTIMEOUT'])
		
		sock.connect((host, port))
			
		if type:
			sock.send(encode(cmd + type))
		else:
			sock.send(encode(cmd))

		while True:
			d = sock.recv(SOCKET['BUFSIZE'])
			data = data + d
			time.sleep(0.003)
			if not d:
				sock.close()
				return data
			
				
	except Exception as e:
		
		save_log('ERROR','ip: '+host+' , port: '+str(port)+' , socketSend  error: '+str(e))
		sock.close()
		
		return False
Пример #9
0
def oldproSocket(host, port, cmd, type=None):
    '''
	@host: 主机IP
	@port: 主机端口
	@cmd:  指令
	'''

    # 指令执行后返回的结果
    data = ''

    # 开始通信
    try:
        sock = socket.socket()
        sock.settimeout(SOCKET['PROTIMEOUT'])
        sock.connect((host, port))

        if type:
            sock.send(encode(cmd + type))
        else:
            sock.send(encode(cmd))

        data = decode(sock.recv(SOCKET['BUFSIZE']))
        sock.close()

    except socket.timeout:
        sock.send(encode('Time out!'))
        save_log('WARNING', 'host:' + host + ' Time out!')
        sock.close()
        return data
        sys.exit()

    except socket.error, args:
        (error_no, msg) = args
        error_log = 'Connect server faild:%s, error_no=%d ,error_host=%s' % (
            msg, error_no, host)
        save_log('ERROR', error_log)
        sock.close()
        return data
        sys.exit()
Пример #10
0
def oldproSocket(host, port, cmd, type=None):
	'''
	@host: 主机IP
	@port: 主机端口
	@cmd:  指令
	'''

	# 指令执行后返回的结果
	data = ''

	# 开始通信
	try:
		sock = socket.socket()
		sock.settimeout(SOCKET['PROTIMEOUT'])
		sock.connect((host, port))
			
		if type:
			sock.send(encode(cmd + type))
		else:
			sock.send(encode(cmd))
		
		data = decode(sock.recv(SOCKET['BUFSIZE']))
		sock.close()
	
	except socket.timeout:
		sock.send(encode('Time out!'))
		save_log('WARNING','host:'+host+' Time out!')
		sock.close()
		return data
		sys.exit()
	
	except socket.error, args:
		(error_no, msg) = args
		error_log = 'Connect server faild:%s, error_no=%d ,error_host=%s' % (msg, error_no,host)
		save_log('ERROR',error_log)
		sock.close()
		return data
		sys.exit()
Пример #11
0
def FproSocket(host, port, cmd, type=None):
	'''
	@host: 主机IP
	@port: 主机端口
	@cmd:  指令
	'''

	 

	try:
		sock = socket.socket()
		#sock.settimeout(SOCKET['PROTIMEOUT'])
		sock.connect((host, port))
                
		if type:
			sock.send(encode(cmd + type))
		else:
			sock.send(encode(cmd))
		sock.close()
	except Exception as e:
		save_log('ERROR','FproSocket error:'+str(e))
		return 0
	return 1