C# system.net.ipadress.broadcast vervangen door string

Status
Niet open voor verdere reacties.

Semafoor

Gebruiker
Lid geworden
29 aug 2007
Berichten
129
Hallo,

Ik ben nog niet helemaal thuis in c# maar kom wel met een probleem..

ik heb de volgende code

Code:
private System.Net.IPAddress wolIPAddr = System.Net.IPAddress.Broadcast;

alleen is het broadcast adres dat ik nodig heb niet 255.255.255.255 (System.Net.IPAddress.Broadcast) maar 172.16.100.255

nu maak ik van System.Net.IPAddress.Broadcast:

Code:
private System.Net.IPAddress wolIPAddr = "172.16.100.255";

alleen krijg ik dan de melding dat dit niet mogelijk is. Cannot implicitly convert type "string" to system.net.ipadress. Hoe kan ik dit toch doen?

Met vriendelijke groet,

Stefan
 
Laatst bewerkt:
Je moet een nieuwe instantie maken van het IPAddress.
Als je naar de initializer kijkt, zie je dat dit moet worden gemaakt via een long, waarbij als voorbeeld staat:

For example, the value 0x2414188f in big-endian format would be the IP address "143.24.20.36"

als je deze long 0x2414188f opsplitst in vier stukken, dan heb je 24 14 18 8f
Dit zijn hex waardes. Als je deze omzet naar dec kom je op 36 20 24 143

Dan valt je uiteraard op dat dit het ip adres is, maar dan andersom gelezen.

Jouw ip adres wat je wilt gebruiken is 172.16.100.255.
Dus zul je dit andersom moeten schrijven 255 100 16 172
En omzetten naar hex waardes ff 64 10 ac

Zo kom je op de initializer
Code:
System.Net.IPAddress wolIPAddr = new IPAddress(0xff6410ac); //172.16.100.255
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan