def client_connection(index, server, security_policies_uri, printable=False): client = Client(server["address"]) try: best_endpoint = best_endpoint_selection(client, server, security_policies_uri, printable) client = Client(best_endpoint.EndpointUrl) client.application_uri = "urn:freeopcua:client" client.description = "OPCUA-Client-Kafka-Gateway" client = client_auth(client, server) policy = best_endpoint.SecurityPolicyUri.split('#')[1] if policy != "None": security_string = str(policy) + ',' + str(MessageSecurityMode(best_endpoint.SecurityMode).name) + ',client_certificate.pem' + ',client_key.pem' client.set_security_string(security_string) client.connect() return client except Exception as ex: #print(f"\nEXCEPTION in client connection: {ex.__class__, ex.args}") return