Updated README.md
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
# EonaCat.Connections
|
# EonaCat.Connections
|
||||||
|
|
||||||
A high-performance, production-ready .NET Framework 4.8+ / .NET 8 compatible library for building scalable TCP/UDP servers and clients with optional TLS encryption and application-layer AES encryption.
|
A high-performance, production-ready .NET Framework 4.8+ / .NET 8 compatible library for building scalable TCP/UDP servers and clients with optional TLS encryption and application-layer AES encryption.
|
||||||
@@ -37,7 +38,7 @@ A high-performance, production-ready .NET Framework 4.8+ / .NET 8 compatible lib
|
|||||||
- Minimal allocations, event-driven callbacks
|
- Minimal allocations, event-driven callbacks
|
||||||
- For highest throughput, run x64, enable LargePage, set appropriate Socket options and OS registry tuning
|
- For highest throughput, run x64, enable LargePage, set appropriate Socket options and OS registry tuning
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
@@ -118,7 +119,7 @@ The `Configuration` class provides extensive customization options:
|
|||||||
- **TrustedThumbprints**: List of trusted certificate thumbprints for validation
|
- **TrustedThumbprints**: List of trusted certificate thumbprints for validation
|
||||||
- **CheckAgainstInternalTrustedCertificates**: Validate against Windows certificate store (default: true)
|
- **CheckAgainstInternalTrustedCertificates**: Validate against Windows certificate store (default: true)
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## NetworkServer API
|
## NetworkServer API
|
||||||
|
|
||||||
@@ -243,7 +244,7 @@ public Stats GetStats();
|
|||||||
public void Dispose();
|
public void Dispose();
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## NetworkClient API
|
## NetworkClient API
|
||||||
|
|
||||||
@@ -346,7 +347,7 @@ public async Task<DataReceivedEventArgs> SendNicknameAndWaitForResponseAsync(
|
|||||||
public void Dispose();
|
public void Dispose();
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Message Framing Modes
|
## Message Framing Modes
|
||||||
|
|
||||||
@@ -372,7 +373,7 @@ config.MessageFraming = FramingMode.LengthPrefixed;
|
|||||||
config.LengthPrefixedLength = 4; // 4-byte prefix
|
config.LengthPrefixedLength = 4; // 4-byte prefix
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## SSL/TLS Certificate Setup
|
## SSL/TLS Certificate Setup
|
||||||
|
|
||||||
@@ -397,7 +398,7 @@ Export-PfxCertificate `
|
|||||||
|
|
||||||
This creates a self-signed certificate with password `p@ss` in `C:\temp\server.pfx`.
|
This creates a self-signed certificate with password `p@ss` in `C:\temp\server.pfx`.
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Advanced Features
|
## Advanced Features
|
||||||
|
|
||||||
@@ -480,7 +481,7 @@ monitor.OnNetworkOutageDetected += (s, e) =>
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Server Example
|
## Server Example
|
||||||
|
|
||||||
@@ -593,7 +594,7 @@ namespace EonaCat.Connections.Server.Example
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Client Example
|
## Client Example
|
||||||
|
|
||||||
@@ -709,7 +710,7 @@ namespace EonaCat.Connections.Client.Example
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Advanced Usage Examples
|
## Advanced Usage Examples
|
||||||
|
|
||||||
@@ -824,8 +825,6 @@ config.AesPassword = "AdditionalPassword";
|
|||||||
config.EnableNagle = false;
|
config.EnableNagle = false;
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Event Arguments Reference
|
## Event Arguments Reference
|
||||||
|
|
||||||
### ConnectionEventArgs
|
### ConnectionEventArgs
|
||||||
@@ -856,8 +855,6 @@ config.EnableNagle = false;
|
|||||||
- `double IdleTime` - Idle duration in seconds
|
- `double IdleTime` - Idle duration in seconds
|
||||||
- `DisconnectReason Reason` - Reason for disconnection
|
- `DisconnectReason Reason` - Reason for disconnection
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Disconnect Reasons
|
## Disconnect Reasons
|
||||||
|
|
||||||
The `DisconnectReason` enum provides detailed disconnect information:
|
The `DisconnectReason` enum provides detailed disconnect information:
|
||||||
@@ -880,8 +877,6 @@ public enum DisconnectReason
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Performance Considerations
|
## Performance Considerations
|
||||||
|
|
||||||
### Optimization Tips
|
### Optimization Tips
|
||||||
@@ -900,8 +895,6 @@ public enum DisconnectReason
|
|||||||
- Track `IdleTimeout` events for connection health
|
- Track `IdleTimeout` events for connection health
|
||||||
- Use `NetworkMonitor` for advanced diagnostics
|
- Use `NetworkMonitor` for advanced diagnostics
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Thread Safety
|
## Thread Safety
|
||||||
|
|
||||||
- `NetworkServer` and `NetworkClient` are thread-safe for all public methods
|
- `NetworkServer` and `NetworkClient` are thread-safe for all public methods
|
||||||
@@ -909,24 +902,8 @@ public enum DisconnectReason
|
|||||||
- Use `ConfigureAwait(false)` in async handlers
|
- Use `ConfigureAwait(false)` in async handlers
|
||||||
- Access shared state with appropriate synchronization
|
- Access shared state with appropriate synchronization
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Supported Platforms
|
## Supported Platforms
|
||||||
|
|
||||||
- **.NET Framework 4.8+** - Full support
|
- **.NET Framework 4.8+** - Full support
|
||||||
- **.NET 8.0** - Full support
|
- **.NET 8.0** - Full support
|
||||||
- **Platforms**: Windows, Linux, macOS (with .NET Core)
|
- **Platforms**: Windows, Linux, macOS (with .NET Core)
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
Licensed under the Apache License. See LICENSE file for details.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Resources
|
|
||||||
|
|
||||||
- **Repository**: https://git.saey.me/EonaCat/EonaCat.Connections
|
|
||||||
- **Issues**: Report bugs and feature requests on the project repository
|
|
||||||
- **Documentation**: Inline XML documentation in source code
|
|
||||||
|
|||||||
Reference in New Issue
Block a user