This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
The Ham Logger Gateway facilitates the processing of messages from different Ham Radio logging software. It contains asynchronous UDP and TCP servers and supports IPv4 and IPv6, providing an example of handling and processing messages.
- Asynchronous TCP and UDP server to handle multiple client connections concurrently.
- Efficient memory management using
MemoryPool
. - Extensible architecture for easy customization.
- Comprehensive logging for monitoring and debugging.
- Blacklist functionality to block unwanted connections.
- Rate limiting to manage client request rates and prevent abuse.
To install and run the Ham Logger Gateway, follow these steps:
-
Clone the repository:
git clone https://github.com/KC3PIB/HamLoggerGateway.git cd HamLoggerGateway
-
Build the project:
dotnet build
-
Configure N1MM:
- Go to N1MM -> Config -> Broadcast Data
- Check the types of data you wish to receive
- Use 127.0.0.1:12060 or the values you have set in
config.json
-
Run the project:
dotnet run --project src/HamLoggerGateway.Example/HamLoggerGateway.Example.csproj
This example project will display all N1MM messages received as JSON in the console.
The Ham Logger Gateway can be configured through the ServerSettings
class. Update the settings according to your
network configuration and requirements.
Example configuration:
var settings = new ServerSettings
{
Address = "127.0.0.1",
Port = 5000,
BufferSize = 16384,
EnableReuseAddress = true
};