mirror of
https://github.com/simtactics/mysimulation.git
synced 2025-03-19 08:21:22 +00:00
33 lines
986 B
C#
33 lines
986 B
C#
|
using System;
|
|||
|
using System.Globalization;
|
|||
|
using System.Net;
|
|||
|
|
|||
|
namespace FSO.Server.Common
|
|||
|
{
|
|||
|
public class IPEndPointUtils
|
|||
|
{
|
|||
|
public static IPEndPoint CreateIPEndPoint(string endPoint)
|
|||
|
{
|
|||
|
string[] ep = endPoint.Split(':');
|
|||
|
if (ep.Length != 2) throw new FormatException("Invalid endpoint format");
|
|||
|
System.Net.IPAddress ip;
|
|||
|
if (!System.Net.IPAddress.TryParse(ep[0], out ip))
|
|||
|
{
|
|||
|
var addrs = Dns.GetHostEntry(ep[0]).AddressList;
|
|||
|
if (addrs.Length == 0)
|
|||
|
{
|
|||
|
throw new FormatException("Invalid ip-address");
|
|||
|
}
|
|||
|
else ip = addrs[0];
|
|||
|
}
|
|||
|
|
|||
|
int port;
|
|||
|
if (!int.TryParse(ep[1], NumberStyles.None, NumberFormatInfo.CurrentInfo, out port))
|
|||
|
{
|
|||
|
throw new FormatException("Invalid port");
|
|||
|
}
|
|||
|
return new IPEndPoint(ip, port);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|