Any C#/.Net equivalent methods, or managed code examples for INET_NTOA and INET_ATON?
Asked
Active
Viewed 4,180 times
6 Answers
1
Just to clarify, you're looking to parse a string representation of an IP Address, to an IPAddress object?
(That's my understanding of this article explaining INET_NTOA)
In that case ,it's System.Net.IPAddress.Parse("127.0.0.1")
, and you can use the .ToString()
off an IPAddress to get the string rep back out.
0
To make NTOA compatible with MySQL i had to do a Endian conversion
byte[] ip = BitConverter.GetBytes(ipInt);
Array.Reverse(ip);
IPAddress = new IPAddress(BitConverter.ToUInt32(ip,0))

FlappySocks
- 3,772
- 3
- 32
- 33
0
This is equivalent to INET_ATON
and INET_NTOA
in MySQL
public static uint INetA2N(string ip)
{
try
{
uint result = ip.Split('.')
.Select(uint.Parse)
.Aggregate((a, b) => a * 256 + b);
return result;
}
catch (System.Exception)
{
return 0;
}
}
public static string InetN2A(uint ipValue)
{
if (ipValue > 4294967295 || ipValue < 0)
return string.Empty;
return ((ipValue & 0xFF000000) / 16777216).ToString() + "." +
((ipValue & 0x00FF0000) / 65536).ToString() + "." +
((ipValue & 0x0000FF00) / 256).ToString() + "." +
(ipValue & 0x000000FF).ToString();
}

Hanabi
- 577
- 4
- 9