def setRemoteNetwork(service, ip, port): # set default service # if not service: service = 'PRINT' errMsg = ("wrong value for remote server, " "input in the format [%s]@IP:PORT") % \ '|'.join(ThreadAnalyzer.requestType) if not ip or not SysMgr.isEffectiveRequest(service): SysMgr.printErr(errMsg) sys.exit(0) if not port: port = SysMgr.defaultPort networkObject = NetworkMgr('client', ip, port) if not networkObject.ip: sys.exit(0) else: networkObject.status = 'ALWAYS' networkObject.request = service naddr = '%s:%s' % (ip, str(port)) if service == 'PRINT': SysMgr.addrListForPrint[naddr] = networkObject elif service.startswith('REPORT_'): SysMgr.reportEnable = True SysMgr.addrListForReport[naddr] = networkObject else: SysMgr.printErr(errMsg) SysMgr.printInfo(\ "use %s:%d as remote address to request %s" % \ (ip, port, service))
def setRemoteServer(value, tcp=False): # receive mode # if value and len(value) == 0: SysMgr.remoteServObj = 'NONE' return # request mode # service, ip, port = NetworkMgr.parseAddr(value) # set PRINT as default # if not service: service = 'PRINT' if not ip: ip = NetworkMgr.getPublicIp() if not port: port = SysMgr.defaultPort # check server addresses # if SysMgr.localServObj and \ SysMgr.localServObj.ip == ip and \ SysMgr.localServObj.port == port: SysMgr.printErr((\ "wrong option value with -X, " "local address and remote address are same " "with %s:%s") % (ip, port)) sys.exit(0) if not ip or not port or \ not SysMgr.isEffectiveRequest(service): reqList = '' for req in ThreadAnalyzer.requestType: reqList += req + '|' SysMgr.printErr(\ ("wrong option value with -X, " "input [%s]@IP:PORT as remote address") % \ reqList[:-1]) sys.exit(0) # create a socket # networkObject = NetworkMgr('client', ip, port, tcp=tcp) if not networkObject.ip: sys.exit(0) else: networkObject.request = service SysMgr.remoteServObj = networkObject if tcp: proto = 'TCP' else: proto = 'UDP' SysMgr.printInfo(\ "use %s:%d(%s) as remote address" % (ip, port, proto))