Convertir une IP en long et un long en IP ( IP2Long, Long2IP )

Soyez le premier à donner votre avis sur cette source.

Snippet vu 53 351 fois - Téléchargée 7 fois


Contenu du snippet

public static long IPToLong(string ipAddress) 
{
    System.Net.IPAddress ip; 
    if (System.Net.IPAddress.TryParse(ipAddress, out ip))
    return (((long)ip.GetAddressBytes()[0] << 24) | ((int)ip.GetAddressBytes()[1] << 16) | ((int)ip.GetAddressBytes()[2] << 8) | ip.GetAddressBytes()[3]);    else return 0; 
}


public static string LongToIP(long ipAddress) 
{

    System.Net.IPAddress tmpIp;
    if (System.Net.IPAddress.TryParse(ipAddress.ToString(), out tmpIp)) 
    {

        try

        {
            Byte[] bytes = tmpIp.GetAddressBytes(); 
            long addr = (long)BitConverter.ToInt32(bytes, 0);
            return new System.Net.IPAddress(addr).ToString(); 
        }
        catch (Exception e) { return e.Message; } 
    }
    else return String.Empty; 
}


// Exemples d'utilisations

// long longFromIP = IpToLong("127.0.0.1"); // retournera 2130706433

// string ipFromLong = LongToIo(2130706433); // retournera 127.0.0.1



Compatibilité : C# 2.x

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.