hs.network.ping.echoRequest
Предоставляет низкоуровневый доступ к инфраструктуре ICMP Echo Request, используемой модулем hs.network.ping. В общем случае, вам не нужно использовать этот модуль напрямую, если у вас нет специфических требований, которые не удовлетворяются модулем hs.network.ping и методами объекта hs.network.ping.
Этот модуль сильно основан на примере проекта Apple's SimplePing, который можно найти по адресу https://developer.apple.com/library/content/samplecode/SimplePing/Introduction/Intro.html.
Когда в качестве аргумента функции обратного вызова указана таблица ICMP, возвращаемая таблица Lua будет содержать следующие пары ключ-значение:
-
checksum- контрольная сумма пакета ICMP, используемая для обеспечения целостности данных. -
code- код управляющего сообщения ICMP. Это всегда должно быть 0, если обратный вызов не получил сообщение "receivedUnexpectedPacket". -
identifier- идентификатор пакета ICMP. Он должен соответствовать результатам hs.network.ping.echoRequest:identifier, если обратный вызов не получил сообщение "receivedUnexpectedPacket". -
payload- строка, содержащая полезную нагрузку ICMP для этого пакета. По умолчанию полезная нагрузка построена так, чтобы пакет ICMP был ровно 64 байта, что соответствует соглашению для ICMP Echo Request. -
sequenceNumber- порядковый номер пакета ICMP. -
type- тип управляющего сообщения ICMP. Если обратный вызов не получил сообщение "receivedUnexpectedPacket", это будет 0 (ICMPv4) или 129 (ICMPv6) для полученных пакетов и 8 (ICMPv4) или 128 (ICMPv6) для отправленных пакетов. -
_raw- строка, содержащая пакет ICMP в виде сырых данных.
В случаях, когда обратный вызов получает сообщение "receivedUnexpectedPacket", потому что пакет поврежден или усечен, эта таблица может содержать только поле _raw.
Обзор API
- Конструкторы - вызовы API, возвращающие объект, обычно предлагающий методы API
- Методы - вызовы API, которые могут быть выполнены только над объектом, возвращенным конструктором
Документация API
Конструкторы
echoRequest
| Подпись | hs.network.ping.echoRequest.echoRequest(server) -> echoRequestObject |
|---|---|
| Тип | Конструктор |
| Описание |
Создает новый объект ICMP Echo Request для указанного сервера. |
| Параметры |
|
| Возвращает |
|
| Примечания |
|
| Источник | extensions/network/ping/libnetwork_ping.m строка 229 |
Методы
acceptAddressFamily
| Подпись | hs.network.ping.echoRequest:acceptAddressFamily([family]) -> echoRequestObject | current value |
|---|---|
| Тип | Метод |
| Описание |
Получение или установка семейства адресов, с которым должен взаимодействовать echoRequestObject. |
| Параметры |
|
| Возвращает |
|
| Примечания |
|
| Источник | extensions/network/ping/libnetwork_ping.m строка 384 |
hostAddress
| Подпись | hs.network.ping.echoRequest:hostAddress() -> string | false | nil |
|---|---|
| Тип | Метод |
| Описание |
Возвращает строковое представление IP-адреса сервера или логическое значение, если разрешение адреса еще не завершено. |
| Параметры |
|
| Возвращает |
|
| Источник | extensions/network/ping/libnetwork_ping.m строка 495 |
hostAddressFamily
| Подпись | hs.network.ping.echoRequest:hostAddressFamily() -> string |
|---|---|
| Тип | Метод |
| Описание |
Возвращает семейство адресов хоста, текущее используемое этим echoRequestObject. |
| Параметры |
|
| Возвращает |
|
| Источник | extensions/network/ping/libnetwork_ping.m строка 560 |
hostName
| Подпись | hs.network.ping.echoRequest:hostName() -> string |
|---|---|
| Тип | Метод |
| Описание |
Возвращает имя целевого хоста, предоставленное конструктору echoRequestObject. |
| Параметры |
|
| Возвращает |
|
| Источник | extensions/network/ping/libnetwork_ping.m строка 325 |
identifier
| Подпись | hs.network.ping.echoRequest:identifier() -> integer |
|---|---|
| Тип | Метод |
| Описание |
Возвращает номер идентификатора для echoRequestObject. |
| Параметры |
|
| Возвращает |
|
| Примечания |
|
| Источник | extensions/network/ping/libnetwork_ping.m строка 342 |
isRunning
| Подпись | hs.network.ping.echoRequest:isRunning() -> boolean |
|---|---|
| Тип | Метод |
| Описание |
Возвращает логическое значение, указывающее, прослушивает ли этот echoRequestObject в настоящее время ICMP Echo Reply. |
| Параметры |
|
| Возвращает |
|
| Источник | extensions/network/ping/libnetwork_ping.m строка 476 |
nextSequenceNumber
| Signature | hs.network.ping.echoRequest:nextSequenceNumber() -> integer |
|---|---|
| Type | Method |
| Description |
Номер последовательности, который будет использован для следующего ICMP-пакета, отправленного этим объектом. |
| Parameters |
|
| Returns |
|
| Notes |
|
| Source | extensions/network/ping/libnetwork_ping.m строка 362 |
seeAllUnexpectedPackets
| Signature | hs.network.ping.echoRequest:seeAllUnexpectedPackets([state]) -> boolean | echoRequestObject |
|---|---|
| Type | Method |
| Description |
Получить или установить, следует ли обработчику получать все неожиданные пакеты или только те, которые содержат наш идентификатор. |
| Parameters |
|
| Returns |
|
| Notes |
|
| Source | extensions/network/ping/libnetwork_ping.m строка 595 |
sendPayload
| Signature | hs.network.ping.echoRequest:sendPayload([payload]) -> echoRequestObject | false | nil |
|---|---|
| Type | Method |
| Description |
Отправка одного ICMP-пакета запроса эха. |
| Parameters |
|
| Returns |
|
| Notes |
|
| Source | extensions/network/ping/libnetwork_ping.m строка 522 |
setCallback
| Signature | hs.network.ping.echoRequest:setCallback(fn) -> echoRequestObject |
|---|---|
| Type | Method |
| Description |
Установить или удалить функцию обратного вызова объекта |
| Parameters |
|
| Returns |
|
| Notes |
|
| Source | extensions/network/ping/libnetwork_ping.m строка 253 |
start
| Signature | hs.network.ping.echoRequest:start() -> echoRequestObject |
|---|---|
| Type | Method |
| Description |
Запустить echoRequestObject, разрешив адрес сервера и начать прослушивание ICMP-пакетов ответа эха. |
| Parameters |
|
| Returns |
|
| Source | extensions/network/ping/libnetwork_ping.m строка 427 |
stop
| Signature | hs.network.ping.echoRequest:stop() -> echoRequestObject |
|---|---|
| Type | Method |
| Description |
Остановить прослушивание ICMP-пакетов ответа эха с помощью этого объекта. |
| Parameters |
|
| Returns |
|
| Source | extensions/network/ping/libnetwork_ping.m строка 452 |
© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.network.ping.echoRequest.html