[C#] TryParse denkt dat 172.18.254 een geldig IP adres is

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
In een C# programma probeer ik om te controleren of een ip adres goed is ingevoerd door de gebruiker.

C#:
1
2
3
4
5
6
            IPAddress ip = null;
            if (rc == true && IPAddress.TryParse(address, out ip) == false)
            {
                errmsg = "Invalid IP address '" + address + "'";
                rc = false;
            }

Als ik als 'address' 172.18.254 opgeef, is het resultaat van tryparse true en de resulterende bytes zijn 172, 18, 0 and 254.

Is hier een mogelijke verklaring voor?

PS
De huidige workaround is om 'address' te splitsen met split en te kijken of ik 4 octets terug krijg.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

2) Compatibility with Berkley software:

When a three-part address is specified, the last part is interpreted as a 16-bit quantity and placed in the right-most 2 bytes of the network address.

Example: "12.12.258" is valid and maps to 12.12.1.2

When a two-part address is specified, the last part is interpreted as a 24-bit quantity and placed in the right-most 3 bytes of the network address.

Example: "12.258" is valid and maps to 12.0.1.2

For further information, read the MSDN article on inet_addr.
Niet lullig bedoeld, maar dat kostte me 30 seconden op Google zonder C#-voorkennis.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Bedankt.

Niet lullig genomen. Had die pagina gevonden maar heb nooit de community content gelezen. Vind ik persoonlijk ook niet noodzakelijk omdat de MS inhoud dit zou hebben moeten dekken (onder remarks) naar mijn mening.

Maar goed, dit is dus duidelijk een kwestie dat ik niet weet wat een ip adres is :)

Nu op zoek naar "For further information, read the MSDN article on inet_addr" en "Berkeley".

Een vraag
Wat was je exacte zoekterm

PS
Na het lezen van MSDN: inet_addr function ben ik meer dan ooit van overtuigd dat dit onder 'remarks' thuis had gehoord.

[ Voor 19% gewijzigd door Verwijderd op 29-09-2011 08:25 . Reden: PS toegevoegd. ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Mijn zoekterm was enkel de methodnaam, vandaar de 30 seconden. ;)

En er zijn natuurlijk andere manieren om een IP te checken. Je noemt zelf al het splitten en dan tellen/checken per octet, maar je kan ook een regexp gebruiken. En misschien heeft .Net nog wat te bieden, maar dat weet ik zo niet aangezien ik er nooit mee gewerkt heb. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Ja, dat had ik ook gedaan;) Je kunt duidelijk beter lezen dan ik :D Ik ben er nog steeds van ondersteboven dat zoiets in the 'user comments' staat en niet in het 'officiele' gedeelte.

  • ytterx
  • Registratie: Januari 2009
  • Laatst online: 17-09 12:23
Iets wat je nog wel vaker gaat tegen komen. Ik lees altijd de hele pagina van MSDN artikelen voordat ik verder ga zoeken. Voorkomt lang dradig zoeken naar oplossingen

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ik ben primair webdeveloper en werk daarbij vooral met PHP. Dan leer je wel om user comments op hun waarde te schatten. :+ Al ben ik van MSDN ook niet gewend dat dit soort dingen niet vermeld worden, inderdaad. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • wjzijderveld
  • Registratie: Augustus 2005
  • Laatst online: 23-08 10:55
NMe schreef op donderdag 29 september 2011 @ 16:11:
Ik ben primair webdeveloper en werk daarbij vooral met PHP. Dan leer je wel om user comments op hun waarde te schatten. :+
Herkenbaar ^^ Helaas moet je dan ook nog om de vele work-arounds heen lezen om bij een echt antwoord te komen, staat soms echt bagger code in comments :)

Canon EOS60D | Canon 100mm f/2.8 USM | Canon 100-400mm f/4.5-5-6L | Canon 10-22mm f/3.5-4.5 USM | Canon 430EX II


Acties:
  • 0 Henk 'm!

  • Ram0n
  • Registratie: Maart 2002
  • Laatst online: 03-07 13:05

Ram0n

Bierbrouwende nerd

wjzijderveld schreef op vrijdag 30 september 2011 @ 13:33:
[...]

Herkenbaar ^^ Helaas moet je dan ook nog om de vele work-arounds heen lezen om bij een echt antwoord te komen, staat soms echt bagger code in comments :)
Dat zeker, ik heb op de site van php al vele fouten aangewezen in de usercomments... Maar er staat ook zeker vaak genoeg wel interessante en nuttige info :)

Eigenaar/brouwer Milky Road Brewery

Pagina: 1