Убедитесь, что строка находится в формате многоадресного IP-адреса IPv6.

Есть ли способ проверить, соответствует ли строка многоадресному IP-формату IPv6? Я знаю, как я могу проверить формат индивидуального адреса, например. 192.45.2.133, но хотите узнать о проверке многоадресного адреса IPv6


person Manak Ram Seervi    schedule 14.01.2014    source источник
comment
codeproject.com/Articles/1705/IP-Multicasting-in-C это может быть полезно   -  person Kaushik    schedule 14.01.2014


Ответы (2)


Разберите его в IPAddress, а затем проверьте IsIP6Multicast свойство.

var ipString = "...";
var address = IPAddress.Parse(ipString);
var isIP6Multicast = address.isIP6Multicast;

(Если вы не уверены, что это даже IP-адрес, используйте TryParse вместо Parse сначала)

person Damien_The_Unbeliever    schedule 14.01.2014

Из Википедии.

Многоадресные адреса в IPv6 имеют префикс ff00::/8.

General multicast address format
Bits    8       4       4       112
Field   prefix  flags   scope   group ID
The prefix holds the binary value 11111111 for any multicast address. 
...

Так что я думаю, вы можете проверить, начинается ли строка IP-адреса IPV6 с 0xff.

person Yuanhang Guo    schedule 14.01.2014