Source code for gwa.eperf.main


import os,time,sys,signal
from server_udp import *
from client_udp import *
from server_tcp import *
from client_tcp import *
from function import *

def handler(signum,frame):
	print "\nFin des servers"


[docs]class Eperf: """ This class allow to create server, client, in mode UPD or TCP """ def __init__(self,argv): os.system('clear') signal.signal(signal.SIGINT, handler) #Test of the mandatory argument if (not "-s" in argv) and (not "-UDP" in argv and not "-TCP" in argv): helpEperf() exit(1) #Display the help of this function if "-h" in argv or "--help" in argv: helpEperf() exit(1) #Test if the mandatory arguement is present, and read the IP address if "-UDP" in argv or "-TCP" in argv : if "-net" in argv: self.IP=argv[argv.index("-net")+1] else: helpEperf() exit(1) #Test if the port is indicate in the commande else the default port is 5000 if "-p" in argv: self.port=int(argv[argv.index("-p")+1]) else : self.port=5000 #Test if the interval is indicate in the commande else the default interval is 1 if "-i" in argv : self.interval=int(argv[argv.index("-i")+1]) else: self.interval=1 #Test if the duration is indicate in the commande else the default duration is 5 if "-d" in argv : self.duration=int(argv[argv.index("-d")+1]) else: self.duration=5 #Test if the number of connection is indicate in the commande else the default number of connection is 3 for the mode TCP only. if "-c" in argv : self.connection=int(argv[argv.index("-c")+1]) else: self.connection=3 #Test if the number of limit bandwidth is indicate in the commande else the default number of limit bandwidth is 50 Mbit/s for the mode UDP only. if "-bw" in argv :[argv.index("-bw")+1]) else:*1024*1024 #Test if the mode of cummunicationis indicate in the commande. if "-upload" in argv : self.upload=True else: self.upload=False if "-download" in argv : else: #Creation of the server if the option "-s" is indicate in the commande. if "-s" in argv : self.createServer() #Creation of the Client if is necessary if "-UDP" in argv : self.UDPClient(argv) if "-TCP" in argv: self.TCPClient()
[docs] def createServer(self): """ This function create TCP and UDP server. """ addrTCP=('',self.port) server = ServerThread(addrTCP, Connectionprocessing) SRV_TCP = threading.Thread(target=server.serve_forever) SRV_TCP.allow_reuse_address=True SRV_TCP.deamon=False SRV_TCP.start() while 1: print "server TCP port : "+str(self.port) print "server UDP port : "+str(self.port+1) address=('',self.port+1) SRV_UDP = UDPServer(address) if "True" in SRV_UDP.upload : SRV_UDP.uploadUDP() time.sleep(1) if "True" in : SRV_UDP.downloadUDP() SRV_UDP.closeSocket()
[docs] def UDPClient(self,argv): """ This function create UDP Client. """ address=(self.IP,self.port+1) if not "-download" in argv and not "-upload" in argv : helpEperf() exit(1) CLI_UDP = UDPClient(address,self.interval,self.duration,,self.upload, if "-upload" in argv : CLI_UDP.uploadUDP() print "UDP Upload list" print CLI_UDP.listFinalUp time.sleep(1) if "-download" in argv : CLI_UDP.downloadUDP() print "UDP Download list" print CLI_UDP.listFinalDown CLI_UDP.closeSocket()
[docs] def TCPClient(self): """ This function create TCP Client. """ address=(self.IP,self.port) if not self.upload and not helpEperf() exit(1) ClI_TCP=ClientTCP(address,self.connection,self.interval,self.duration,self.upload, ClI_TCP.runClient() if self.upload: print "TCP Upload list" print ClI_TCP.bwUpload if print "TCP Download list" print ClI_TCP.bwDownload
if __name__ == "__main__": """ Start Point of the program """ app = Eperf(sys.argv) sys.exit()