Communication libraries
This section contains a description of communication libraries that can be used by other SDK libraries or separately to solve data exchange tasks. This category consists of the following libraries:
| Library | Description |
|---|---|
| UdpDataChannel (Linux and Windows) | Provides reliable point-to-point communication between two applications based on UDP. The library includes two primary classes: UdpDataClient (connects to server) and UdpDataServer (waits for connection from client). Both classes provide two-way communication. No external dependencies. |
| NtpUdpChannel (Linux and Windows) | Provides a mechanism to simplify sending and receiving data over the UDP transport layer via low bandwidth networks. The library streams data taking into account channel bandwidth and controls data loss. No external dependencies. |
| SerialPort (Linux and Windows) | Provides a simple interface to work with serial ports. No external dependencies. |
| TcpClient (Linux and Windows) | Provides methods to work with TCP socket as client (connect, close, send data and receive data). No external dependencies. |
| TcpServer (Linux and Windows) | Provides methods to work with TCP socket as server (wait for connection, close, send data and receive data). No external dependencies. |
| UdpSocket (Linux and Windows) | Provides methods to work with UDP ports (open, close, send data and receive data). No external dependencies. |
| PelcoDParser (Linux and Windows) | Provides methods for encoding and decoding PelcoD responses and commands. No external dependencies. |
| BoberManager (Linux and Windows) | UDP message manager C++ library designed to handle communication between multiple clients over a network. It uses UDP packets and string-based protocol. No external dependencies. |
| BoberClient (Linux and Windows) | Communication client C++ library for user applications, enabling interaction with any other service through BoberManager. It uses UDP packets and string-based protocol. No external dependencies. |
| KlvEncoder (Linux and Windows) | The library to encode KLV metadata for video streaming. No external dependencies. |
| SnmpServer (Linux and Windows) | SNMP agent library: SNMPv2c and SNMPv3 (USM and VACM) command responder and notification originator (traps and informs). Scalar objects and tables are registered by the application with values or handlers; the library can generate the SMIv2 MIB module of the registered objects. Depends on CryptoProvider (SNMPv3 only). External dependencies: OpenSSL 3 on Linux (through CryptoProvider, optional, with FIPS provider support, Apache 2.0 license); Windows CNG on Windows (through CryptoProvider, part of Windows). |
| OConnector (Linux only) | Library for building ONVIF® services: implements the ONVIF® Profile S, T and M specifications, WS-Discovery and the HTTP / HTTPS transport and hands every client request to the application as a typed callback. Video streams are not carried: the library returns the addresses of the streams. Depends on CryptoProvider. External dependencies: OpenSSL 3 (linked directly and through CryptoProvider, required, Apache 2.0 license). |
Table of contents
- SerialPort (Serial port implementation)
- TcpClient (TCP client implementation)
- TcpServer (TCP server implementation)
- UdpSocket (UDP socket implementation)
- UdpDataChannel (UDP data channel)
- NtpUdpChannel (UDP data channel)
- PelcoDParser (Pelco-D protocol parser)
- BoberManager (UDP messages router)
- BoberClient (UDP messages client)
- KlvEncoder (KLV metadata encoder)
- SnmpServer (SNMP agent)
- OConnector (ONVIF® server)