Updated README.md
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
|
||||
# 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.
|
||||
@@ -37,7 +38,7 @@ A high-performance, production-ready .NET Framework 4.8+ / .NET 8 compatible lib
|
||||
- Minimal allocations, event-driven callbacks
|
||||
- For highest throughput, run x64, enable LargePage, set appropriate Socket options and OS registry tuning
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Configuration
|
||||
|
||||
@@ -118,7 +119,7 @@ The `Configuration` class provides extensive customization options:
|
||||
- **TrustedThumbprints**: List of trusted certificate thumbprints for validation
|
||||
- **CheckAgainstInternalTrustedCertificates**: Validate against Windows certificate store (default: true)
|
||||
|
||||
---
|
||||
|
||||
|
||||
## NetworkServer API
|
||||
|
||||
@@ -243,7 +244,7 @@ public Stats GetStats();
|
||||
public void Dispose();
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
## NetworkClient API
|
||||
|
||||
@@ -346,7 +347,7 @@ public async Task<DataReceivedEventArgs> SendNicknameAndWaitForResponseAsync(
|
||||
public void Dispose();
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Message Framing Modes
|
||||
|
||||
@@ -372,7 +373,7 @@ config.MessageFraming = FramingMode.LengthPrefixed;
|
||||
config.LengthPrefixedLength = 4; // 4-byte prefix
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
## 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`.
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Advanced Features
|
||||
|
||||
@@ -480,7 +481,7 @@ monitor.OnNetworkOutageDetected += (s, e) =>
|
||||
};
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Server Example
|
||||
|
||||
@@ -593,7 +594,7 @@ namespace EonaCat.Connections.Server.Example
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Client Example
|
||||
|
||||
@@ -709,7 +710,7 @@ namespace EonaCat.Connections.Client.Example
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
## Advanced Usage Examples
|
||||
|
||||
@@ -824,8 +825,6 @@ config.AesPassword = "AdditionalPassword";
|
||||
config.EnableNagle = false;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Event Arguments Reference
|
||||
|
||||
### ConnectionEventArgs
|
||||
@@ -856,8 +855,6 @@ config.EnableNagle = false;
|
||||
- `double IdleTime` - Idle duration in seconds
|
||||
- `DisconnectReason Reason` - Reason for disconnection
|
||||
|
||||
---
|
||||
|
||||
## Disconnect Reasons
|
||||
|
||||
The `DisconnectReason` enum provides detailed disconnect information:
|
||||
@@ -880,8 +877,6 @@ public enum DisconnectReason
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Performance Considerations
|
||||
|
||||
### Optimization Tips
|
||||
@@ -900,8 +895,6 @@ public enum DisconnectReason
|
||||
- Track `IdleTimeout` events for connection health
|
||||
- Use `NetworkMonitor` for advanced diagnostics
|
||||
|
||||
---
|
||||
|
||||
## Thread Safety
|
||||
|
||||
- `NetworkServer` and `NetworkClient` are thread-safe for all public methods
|
||||
@@ -909,24 +902,8 @@ public enum DisconnectReason
|
||||
- Use `ConfigureAwait(false)` in async handlers
|
||||
- Access shared state with appropriate synchronization
|
||||
|
||||
---
|
||||
|
||||
## Supported Platforms
|
||||
|
||||
- **.NET Framework 4.8+** - Full support
|
||||
- **.NET 8.0** - Full support
|
||||
- **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