Spec-Zone.ru › Pony

NetAddress

[Source]

Представляет IPv4 или IPv6 адрес. Поле family указывает тип адреса. Поле addr — это либо IPv4 адрес, либо IPv6 информация о потоке. Поля addr1-4 — это IPv6 адрес, или недействительные значения для IPv4 адреса. Поле scope — это IPv6 область действия, или недействительное значение для IPv4 адреса.

Этот класс смоделирован по C структуре данных для хранения адресов сокетов как для IPv4, так и для IPv6 sockaddr_storage.

Используйте метод name для получения адреса/имени хоста и порта/службы в виде строк.

class val NetAddress is
  Equatable[NetAddress val] ref

Реализует

  • Equatable[NetAddress val] ref

Конструкторы

create

[Source]

new iso create()
: NetAddress iso^

Возвращает

  • NetAddress iso^

Публичные функции

ip4

[Source]

Возвращает true для IPv4 адреса.

fun box ip4()
: Bool val

Возвращает

  • Bool val

ip6

[Source]

Возвращает true для IPv6 адреса.

fun box ip6()
: Bool val

Возвращает

  • Bool val

name

[Source]

Возвращает имя хоста и службы.

Если reversedns является экземпляром DNSLookupAuth, будет выполнено разрешение DNS, и имя хоста для этого адреса будет возвращено как первый элемент кортежа результата. Если имя хоста не найдено, генерируется ошибка. Если reversedns равно None, будет возвращен прямой IP-адрес, и разрешение DNS не выполняется.

Если servicename равно false, числовой порт возвращается как второй элемент кортежа результата. Если это true, порт преобразуется в соответствующее имя службы (например, порт 80 возвращается как "http").

Внутренне этот метод использует функцию POSIX C getnameinfo.

fun box name(
  reversedns: (AmbientAuth val | NetAuth val | DNSAuth val | 
    None val) = reference,
  servicename: Bool val = false)
: (String val , String val) ?

Параметры

  • reversedns: (AmbientAuth val | NetAuth val | DNSAuth val | None val) = ссылка
  • servicename: Bool val = false

Возвращает

  • (String val , String val) ?

eq

[Source]

fun box eq(
  that: NetAddress box)
: Bool val

Параметры

  • that: NetAddress box

Возвращает

  • Bool val

host_eq

[Source]

fun box host_eq(
  that: NetAddress box)
: Bool val

Параметры

  • that: NetAddress box

Возвращает

  • Bool val

length

[Source]

Для платформ (OSX/FreeBSD) с length полем в определении struct sockaddr, возвращает length. В противном случае (Linux/Windows) возвращает размер sockaddr_in или sockaddr_in6.

fun box length()
: U8 val

Возвращает

  • U8 val

family

[Source]

Возвращает family.

fun box family()
: U8 val

Возвращает

  • U8 val

port

[Source]

Возвращает номер порта в порядке байтов хоста.

fun box port()
: U16 val

Возвращает

  • U16 val

scope

[Source]

Возвращает идентификатор IPv6 области: одноадресные, многоадресные и без назначенной области.

fun box scope()
: U32 val

Возвращает

  • U32 val

ipv4_addr

[Source]

Возвращает IPV4 адрес (_addr поле в классе), если ip4() равно True. Если ip4() равно False, то содержимое недействительно.

fun box ipv4_addr()
: U32 val

Возвращает

  • U32 val

ipv6_addr

[Source]

Возвращает IPV6 адрес как 4-кортеж (например, a). a._1 = _addr1 // Биты 0-32 IPv6 адреса в порядке байтов хоста. a._2 = _addr2 // Bits 33-64 of the IPv6 address in host byte order.a._3 = _addr3 // Биты 65-96 IPv6 адреса в порядке байтов хоста. `a._4 = _addr4 // Биты 97-128 IPv6 адреса в порядке байтов хоста.

Содержимое возвращаемого 4-кортежа является валидным только если ip6() равно True.

fun box ipv6_addr()
: (U32 val , U32 val , U32 val , 
    U32 val)

Возвращает

  • (U32 val , U32 val , U32 val , U32 val)

ne

[Source]

fun box ne(
  that: NetAddress val)
: Bool val

Параметры

  • that: NetAddress val

Возвращает

  • Bool val

© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/net-NetAddress

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API