Я читаю документ System.Net.IPAddress
, и я озадачен.
В документах постоянно говорится о вещи под названием scopeId
, которая представляет собой 64-битное целое число:
IPAddress.ScopeId Property
Получает или задает идентификатор области IPv6-адреса.
ArgumentOutOfRangeException
[if] scopeId < 0
- или - scopeId > 0x00000000FFFFFFFF
из свойство IPAddress.ScopeId
Если длина адреса равна 4, IPAddress(Byte[])
создает адрес IPv4;в противном случае создается адрес IPv6 с областью действия 0
.
public IPAddress (byte[] address, long scopeid)
Инициализирует новый экземпляр класса IPAddress
с адресом, указанным в виде массива Byte
и указанным идентификатором области.
из IPAddress Contstructors
Я читаю адрес IPv6 § Области адресов Статья в Википедии и не могу согласовать:
Каждый адрес IPv6, кроме неуказанного адреса(::
), имеет «область действия», которая указывает, в какой части сети он действителен.
Для многоадресных адресов четыре младших бита второго октета адреса (ff0s::
) идентифицируют область адреса, т. Е. Домен, в котором должен распространяться многоадресный пакет.
Согласно Википедии, область видимости - это часть самого адреса, в то время как в соответствии с C # документами область видимости представляет собой целое число , отдельное от самого адреса и его невозможно получить изэтот адрес (если указаны только байты адреса, область действия установлена на 0
).Согласно Википедии, область видимости - это четырехбитное значение, в то время как C # допускает значения до 0x00000000FFFFFFFF
!
Что здесь происходит?Может показаться, что область видимости документов C # отличается от области, о которой говорит Википедия.
Что это за штука с областью видимости?