示例#1
0
    def __init__(self, url, timeout=4):
        """
        used url argument to connect to server.
        if you are unsure of url, write at least hostname and port
        and call get_endpoints
        timeout is the timeout to get an answer for requests to server
        public member of this call are available to be set by API users

        """
        self.logger = logging.getLogger(__name__)
        self.server_url = urlparse(url)
        self.name = "Pure Python Client"
        self.description = self.name
        self.application_uri = "urn:freeopcua:client"
        self.product_uri = "urn:freeopcua.github.no:client"
        self.security_policy = ua.SecurityPolicy()
        self.secure_channel_id = None
        self.default_timeout = 3600000
        self.secure_channel_timeout = self.default_timeout
        self.session_timeout = self.default_timeout
        self._policy_ids = []
        self.uaclient = UaClient(timeout)
        self.user_certificate = None
        self.user_private_key = None
        self._session_counter = 1
        self.keepalive = None
示例#2
0
    def __init__(self, url, timeout=4):
        """

        :param url: url of the server.
            if you are unsure of url, write at least hostname
            and port and call get_endpoints

        :param timeout:
            Each request sent to the server expects an answer within this
            time. The timeout is specified in seconds.
        """
        self.logger = logging.getLogger(__name__)
        self.server_url = urlparse(url)
        # take initial username and password from the url
        self._username = self.server_url.username
        self._password = self.server_url.password
        self.name = "Pure Python Client"
        self.description = self.name
        self.application_uri = "urn:freeopcua:client"
        self.product_uri = "urn:freeopcua.github.io:client"
        self.security_policy = ua.SecurityPolicy()
        self.secure_channel_id = None
        self.secure_channel_timeout = 3600000  # 1 hour
        self.session_timeout = 3600000  # 1 hour
        self._policy_ids = []
        self.uaclient = UaClient(timeout)
        self.user_certificate = None
        self.user_private_key = None
        self._server_nonce = None
        self._session_counter = 1
        self.keepalive = None
        self.nodes = Shortcuts(self.uaclient)
        self.max_messagesize = 0  # No limits
        self.max_chunkcount = 0  # No limits
示例#3
0
    def __init__(self, endpoint):
        self.server_url = urlparse(endpoint.url)
        self._username = self.server_url.username
        self._password = self.server_url.password
        self.name = "BioPy OPCUA Client"
        self.description = self.name
        self.application_uri = "urn:biopy:client"
        self.product_uri = "urn:biopy.com:client"
        self.secure_channel_id = None
        self.secure_channel_timeout = 3600000
        self.session_timeout = 3600000
        self._policy_ids = []
        self.user_certificate = None
        self.user_private_key = None
        self._server_nonce = None
        self._session_counter = 1
        self.keepalive = None
        self.max_messagesize = 0
        self.max_chunkcount = 0
        if endpoint.policy:
            self.set_security(
                getattr(security_policies, "SecurityPolicy" + endpoint.policy),
                endpoint.certificate.path,
                endpoint.private_key.path,
                server_certificate_path=endpoint.server_certificate.path,
                mode=getattr(MessageSecurityMode, endpoint.mode))
        else:
            self.security_policy = SecurityPolicy()

        self.uaclient = UaClient(endpoint.timeout)
        self.nodes = Shortcuts(self.uaclient)
        self.connect()