| Recommend this page to a friend! |
| Packages of Gianfrancesco Aurecchia | OPC UA Client | doc/01-introduction.md | Download |
|
|||||||||||||||||||||
IntroductionWhat is it?
Requirements
Installation
Quick Start
FeaturesProtocol & Transport - Full OPC UA binary encoding/decoding over TCP - Configurable timeouts for connection and I/O Browsing & Navigation
- Browse the server address space with automatic continuation
- Recursive browsing with cycle detection
- Path resolution via Read & Write
- Read and write node attributes, single or multi
- Server BuildInfo ? Advanced - Method calls on the server - Node management ? add/delete nodes and references at runtime on servers that support it - Subscriptions with data change and event monitoring - History reads (raw, processed, at-time) - Endpoint discovery - Pluggable ExtensionObject codecs for custom structures - Automatic DataType discovery ? auto-detect and decode custom structures without writing codecs Security - 10 security policies: 6 RSA (None through Aes256Sha256RsaPss) + 4 ECC (EccNistP256, EccNistP384, EccBrainpoolP256r1, EccBrainpoolP384r1) - 3 security modes (None, Sign, SignAndEncrypt) - Anonymous, username/password, and X.509 certificate authentication - PEM and DER certificate support with auto-detection - Persistent server certificate trust store with configurable validation policies - TOFU (Trust On First Use) auto-accept for new certificates Observability - PSR-3 logging ? pass any compatible logger (Monolog, Laravel, etc.) for structured diagnostics - NullLogger by default ? zero overhead when logging is not needed - PSR-14 events ? 47 granular events dispatched at lifecycle points (connection, session, subscription, data change, alarms, read/write, write type detection, browse, cache, retry, trust store) - NullEventDispatcher by default ? zero overhead when events are not needed Testing
- MockClient for testing ? implements Reliability
- Connection state tracking (Disconnected, Connected, Broken)
- Architecture |