| return | return | ||||
| def connect_moden(provider="telekom"): | |||||
| print_message("Connect modem with provider {} ...".format(provider)) | |||||
| os.system("/root/connect-modem.py -l {}".format(provider)) | |||||
| print_message("...done") | |||||
| def reconnect_modem(provider="telekom"): | |||||
| print_message("Reonnect modem with provider {} ...".format(provider)) | |||||
| os.system("/root/connect-modem.py -s") | |||||
| os.system("/root/connect-modem.py -l {}".format(provider)) | |||||
| print_message("...done") | |||||
| def is_modem_connected(): | |||||
| timeout = 5 | |||||
| try: | |||||
| request = requests.get("http://130.75.73.69", timeout=timeout) | |||||
| return True | |||||
| except (requests.ConnectionError, requests.Timeout) as exception: | |||||
| pass | |||||
| return False | |||||
| class Server: | class Server: | ||||
| def __init__(self, config): | def __init__(self, config): | ||||
| self.config = config | self.config = config | ||||
| ws_filter = "{} and port {}".format("tcp", self.config["port"]) | ws_filter = "{} and port {}".format("tcp", self.config["port"]) | ||||
| print_message("Use ws filter: {}".format(ws_filter)) | print_message("Use ws filter: {}".format(ws_filter)) | ||||
| for n in range(1, self.config["number_of_measurements"] + 1): | for n in range(1, self.config["number_of_measurements"] + 1): | ||||
| if not is_modem_connected(): | |||||
| reconnect_modem() | |||||
| print_message( | print_message( | ||||
| "{} of {}".format(n, self.config["number_of_measurements"]) | "{} of {}".format(n, self.config["number_of_measurements"]) | ||||
| ) | ) | ||||
| enable_tcp_probe() | enable_tcp_probe() | ||||
| print_message("tcp probe is now enabled") | print_message("tcp probe is now enabled") | ||||
| for n in range(1, self.config["number_of_measurements"] + 1): | for n in range(1, self.config["number_of_measurements"] + 1): | ||||
| if not is_modem_connected(): | |||||
| reconnect_modem() | |||||
| print_message( | print_message( | ||||
| "{} of {}".format(n, self.config["number_of_measurements"]) | "{} of {}".format(n, self.config["number_of_measurements"]) | ||||
| ) | ) | ||||
| async def start_client(args): | async def start_client(args): | ||||
| if not is_modem_connected(): | |||||
| connect_moden() | |||||
| s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) | s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) | ||||
| s.connect((args.client, args.port)) | s.connect((args.client, args.port)) | ||||
| s.send(config2json(args)) | s.send(config2json(args)) |