Vraag : vb.net tellingsip waaier

hello daar, zou
I de waaiers van ip bijvoorbeeld

127.0.0.1 willen tellen - 127.0.0.20

to geeft totaal me. hoe kan ik dat doen?

Antwoord : vb.net tellingsip waaier

Hier is hoe ik het… doe   I conver de aantekening „van de vierlingpunt“ in een lang geheel met 64 bits.   Na dat, is het vrij gemakkelijk de twee aantallen enkel om af te trekken om te zien hoeveel adressen er tussen de beginnende en beëindigende IP adreswaaier zijn:

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
    'VB.Net steunt geen type van Unie, maar het staat u aan toe 
    '„verfraai“ een structuur om het zelfde ding te verwezenlijken
     _
    Privé Structuur IP_Parts
         Verduister adres als Int64
         Verduister net als Byte
         Verduister middleRight als Byte
         Verduister middleLeft als Byte
         Verduister links als Byte
    Beëindig Structuur

    Privé Gedeelde Functie IPStrToLong (ByVal IPstr als Koord) zoals lang
        Schemerige ip als IPAddress
        Schemerige delen als IP_Parts
        Schemerige buf () als Koord

        ip = [IPAddress]. Niets
        Als niet [IPAddress] .TryParse (IPstr, ip) toen
            Terugkeer 0
        Eind als

        Het 'bezit IPAddress.Address is „nog gedepreci�ërd“, maar wij
        'vereis een manier om een IPv4 „vierlingpunt“ in en van lang om te zetten, zo enkel
        'houd de compiler gelukkig, gebruiken wij deze routine

        buf = ip.ToString.Split („. „c)
        Als buf. Lengte <> 4 toen
            'Droevig, steunen wij IPv6 geen aantekening
            Terugkeer 0
        Eind als

        delen. Recht = CByte (buf (3))
        parts.middleRight = CByte (buf (2))
        parts.middleLeft = CByte (buf (1))
        delen. Linkerzijde = CByte (buf (0))

        Terugkeer parts.address
    De Functie van het eind
Andere oplossingen  
 
programming4us programming4us