2024-01-06 20:54:26 -06:00
|
|
|
|
using IPXRelayDotNet;
|
2023-09-07 20:41:59 -05:00
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
|
|
2024-01-06 20:54:26 -06:00
|
|
|
|
using var loggerFactory = LoggerFactory.Create(builder =>
|
|
|
|
|
|
{
|
|
|
|
|
|
builder.AddFilter("IPXRelayDotNet", LogLevel.Trace)
|
|
|
|
|
|
.AddConsole();
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
var logger = loggerFactory.CreateLogger<Program>();
|
|
|
|
|
|
|
2023-09-08 18:28:03 -05:00
|
|
|
|
// Starts a new IPX relay on port 213 by default
|
2024-01-06 20:54:26 -06:00
|
|
|
|
using (var relay = new IPXRelay(logger))
|
2023-09-08 18:28:03 -05:00
|
|
|
|
{
|
|
|
|
|
|
Console.WriteLine($"Listening for UDP packets on port {relay.Port}...");
|
2023-09-07 20:41:59 -05:00
|
|
|
|
|
2023-09-08 18:28:03 -05:00
|
|
|
|
relay.OnClientConnected += (sender, e) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
Console.WriteLine($"Client connected from {e.RemoteEndPoint}!");
|
|
|
|
|
|
};
|
2023-09-07 20:41:59 -05:00
|
|
|
|
|
2024-01-06 20:54:26 -06:00
|
|
|
|
relay.OnReceivePacket += (sender, e) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
Console.WriteLine($"Received packet from {e.RemoteEndPoint} | Network: {e.Packet.Header.DestinationAddress.Network}, Node: {e.Packet.Header.DestinationAddress.Node}, Socket: {e.Packet.Header.DestinationAddress.Socket}");
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2023-09-08 19:03:10 -05:00
|
|
|
|
relay.OnReceivePacketError += (sender, e) =>
|
2023-09-08 18:28:03 -05:00
|
|
|
|
{
|
|
|
|
|
|
Console.WriteLine($"Error receiving packet from {e.RemoteEndPoint} | Message: {e.Exception.Message}");
|
|
|
|
|
|
};
|
2023-09-07 20:41:59 -05:00
|
|
|
|
|
2023-09-08 18:28:03 -05:00
|
|
|
|
relay.StartAsync().Wait();
|
2023-09-07 20:41:59 -05:00
|
|
|
|
}
|