DGI.Framework.Communications.Generic.TCPClient 2.0.0
TCP Client for DGI AV Framework
Provides a TCP Client capable of connecting to a server for sending and receiving data. It is designed to be used with the DGI AV Framework, but can be used in any .Net application. It features the ability to retry the server connection if it is not successful. The retry interval is fast in the beginning and slows down after consecutive attempts. The timing is ideal for applications when the device might not always be online. This way the network is not tasked with constant TCP connection traffic.
This driver will not write in the log every time a connection is not successful unless the log level is set to Debug. This is to avoid flooding the log with unnecessary messages.
The driver implements ICommunications for easy interfacing with other Devices Drivers in the DGI AV Framework.
The constructor takes a configuration class to configure the connection. This can be leveraged by the Host Application to create the configuration file from a JSON file stored in the device and boot up.
It relies entirely on .Net standard libraries which makes it possible to be used in windows, mac and linux applications.
Version 1.2.x supports Hostname resolution through mDNS, ideal for Shure microphones that don't announce their
hostnames to the DHCP server.
Version 1.4.0 removed mDNS support due to long compile times when used as a SIMPL library. If mDNS resolution is needed in SIMPL a separate library has been created for that purpose.
Notes:
This driver is intended for IpV4 addresses only. IpV6 is not supported.
A sample program that runs on a Crestron Appliance is included to test integration. This library can be used standalone, but it is normally part of the larger DGI Architecture.
Changing any IP Address or Hostname while the connection is established will trigger a reconnection attempt.
Hostname resolution will be attempted through DNS first, and if it fails, it will attempt to resolve through mDNS.
This driver will attempt to reconnect after it detects the network is down. However, a TCP Connection that drops its network will not be detected as failed until some data is sent from client to server, and the server fails to respond in time. This is a limitation of the TCP protocol.
VC-4 Notes
Under CentOs, the mDNS ports are closed by default. For your program to resolve mDNS commands the following must be done:
sudo firewall-cmd --permanent --zone=public --add-port=5353/udp
sudo firewall-cmd --reload
Full Documentation
For more information on how to use this driver, please refer to the Full Documentation
Showing the top 20 packages that depend on DGI.Framework.Communications.Generic.TCPClient.
| Packages | Downloads |
|---|---|
|
DGI.Framework.Core.RemoteDeviceFactory
Creates Remote Drivers for Remote Devices
|
6 |
|
DGI.Framework.Mechanical.GlobalCache.Relay
Global Cache Relay that implements IDgiRelay
|
3 |
.NET Framework 4.7
- DGI.Framework.Core (>= 2.0.0)
- DGI.ResolveHostnameDriver (>= 1.1.0)
.NET 8.0
- DGI.Framework.Core (>= 2.0.0)
- DGI.ResolveHostnameDriver (>= 1.1.0)
| Version | Downloads | Last updated |
|---|---|---|
| 2.0.4 | 6 | 8/9/2026 |
| 2.0.3 | 2 | 6/19/2026 |
| 2.0.2 | 2 | 6/18/2026 |
| 2.0.1 | 37 | 6/11/2026 |
| 2.0.0 | 3 | 6/5/2026 |
| 1.4.0 | 23 | 2/22/2025 |
| 1.3.4 | 2 | 10/11/2024 |
| 1.3.3 | 2 | 10/6/2024 |
| 1.3.2 | 2 | 9/19/2024 |
| 1.3.1 | 2 | 9/9/2024 |
| 1.3.0 | 2 | 9/1/2024 |
| 1.2.0 | 4 | 6/28/2024 |
| 1.0.1 | 2 | 3/8/2024 |
| 1.0.0 | 5 | 12/24/2023 |
| 1.0.0-rc1 | 9 | 11/5/2023 |