LANCommander/LANCommander.Launcher.Models/DiscoveredServer.cs

32 lines
920 B
C#
Raw Normal View History

2024-08-26 21:29:25 -05:00
using Semver;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using LANCommander.SDK.Models;
2024-08-26 21:29:25 -05:00
namespace LANCommander.Launcher.Models
{
public class DiscoveredServer
{
public string Name { get; private set; }
public Uri Address { get; private set; }
public SemVersion Version { get; private set; }
public DiscoveredServer(BeaconMessage message, IPEndPoint endPoint)
2024-08-26 21:29:25 -05:00
{
if (Uri.TryCreate(message.Address, UriKind.Absolute, out var address))
2024-08-26 21:29:25 -05:00
Address = address;
else
Address = new Uri($"http://{endPoint.Address}:{endPoint.Port}");
Name = message.Name ?? "LANCommander";
2024-08-26 21:29:25 -05:00
if (SemVersion.TryParse(message.Version, SemVersionStyles.Any, out var version))
2024-08-26 21:29:25 -05:00
Version = version;
}
}
}