**HMN-win32: Пакет для Windows Net API **
помощь
ddffsd Parts of this document were translated by machine (Gpt3.5)
Backwards compatible to node6.14.2 but the precompiled version is only supported to node8 and above (because node6 has no asynchronous syntactic sugar), for node6 please compile to node6.14.2 with esbuld yourself
HMN — это ответвление HMC-WIN32. В отличие от HMC, HMN обрабатывает только сетевые API.
Помощь по программированию (китайский) Помощь (английский) CPP (источник)
установка
Как позвонить
let HMN = require ( "hmn-win32" ) ;
console . log ( "net:getConnectNetList=>" , hmn . getConnectNetList ( ) [ 0 ] )
В TypeScript с помощью
import HMC = require ( "hmn-win32" ) ;
Обзор функций
Средний уровень API
- преобразование ссылок
- bool Преобразовать логическое содержимое в безопасный логический тип Boolean
- строка преобразует текстовое/псевдотекстовое содержимое в безопасный текст
- int преобразует числовое/псевдочисловое содержимое в безопасные целочисленные числа.
- HKEY Объекты HKEY во всех реестрах
- Асинхронная блокировка сна
- собственный метод прямого подключения к HMN.node (не рекомендуется)
API
- ipv4 получает IP (v4) локальной сети
- ip Получает IP-адрес локальной сети (адаптер, v4, v6)
- **adapterIP **Получить IP-адрес локальной сети (адаптер, v4, v6)
- адаптерIPAsync получает IP-адрес локальной сети (адаптер, v4, v6) [асинхронный асинхронный]
- public_ip получает IP-адрес локальной общедоступной сети [асинхронный асинхронный]
- getNetParams получает информацию о сети хоста
- getNetParamsAsync получает информацию о сети хоста
- freePort получает бесплатный порт TCP (сервис) [асинхронный асинхронный]
- freePortTCP получает бесплатный TCP-порт [асинхронный асинхронный режим]
- freePortUDP получает бесплатный порт udp [асинхронный асинхронный]
- hasPortUDP определяет, свободен ли этот udp-порт [асинхронный асинхронный]
- hasPortTCP определяет, свободен ли этот TCP-порт [асинхронный асинхронный]
- getSystemProxyServer Получает ссылку на системный прокси (только если системный прокси включен)
- getSystemProxyPac Получает ссылку на системный прокси-скрипт pac.
- getDomainIPaddress разрешает IP-адрес хоста доменного имени из DNS по умолчанию (сеть)
- getDomainIPaddressAsync разрешает IP-адрес хоста доменного имени из DNS по умолчанию (сеть) [асинхронный асинхронный режим]
- getHostsPath получает путь к файлу хостов
- getTCPv6PortProcessID получает, каким процессом занят этот порт
- getUDPv6PortProcessID Получает, каким процессом занят этот порт.
- getUDPv4PortProcessID Получает, каким процессом занят этот порт.
- getTCPv4PortProcessID получает, каким процессом занят этот порт
- getTCPv6PortProcessIDAsync получает, каким процессом занят этот порт [асинхронный асинхронный]
- getUDPv6PortProcessIDAsync получает, каким процессом занят этот порт [асинхронный асинхронный]
- getUDPv4PortProcessIDAsync получает, каким процессом занят этот порт [асинхронный асинхронный]
- getTCPv4PortProcessIDAsync получает, каким процессом занят этот порт [асинхронный асинхронный]
- getConnectNetList перечисляет информацию о портах TCP и UDP портов ipv4 и ipv6 на этом компьютере.
- getConnectNetListAsync перечисляет информацию о TCP- и UDP-портах ipv4 и ipv6 на этом компьютере [асинхронный асинхронный режим]
- killProcess завершает процесс pid (низкие права, если вам нужно завершить процесс с высокими правами, используйте hmc-win32)
- блокировка синхронизации сна (процесс)
- Асинхронная блокировка сна (процесс)
- PortWatchdog обнаруживает изменения порта и инициирует обратный вызов, если он закрыт или включен.
- getProcessidFilePath получает местоположение исполняемого файла процесса.
- getProcessidFilePathAsync получает местоположение исполняемого файла процесса [асинхронный асинхронный]
- isAdmin определяет, имеет ли текущее программное обеспечение права администратора
Восстановить
Все API HMC реализованы с использованием winapi + nodeapi, поэтому нет необходимости перекомпилировать (node6.14.2 разрешено запускать в среде node8 или выше, и его необходимо скомпилировать с помощью esbuld самостоятельно, если вам нужно изменить исходный код). , для компиляции используйте node-gyp rebuild
, для чего требуется наличие определенной основы C/C++ и использование node-gyp в качестве инструмента компиляции. Вам необходимо использовать следующие инструменты:
- узел-gyp
- Visual Studio 2019 (или другие версии)
Уведомление о рисках
Каждый функциональный модуль будет вызываться более тысячи раз без сбоя процесса.
API был строго перекодирован через js и требуется только при вызове нативного кода. Однако, поскольку языки C++ и C строго типизированы, для строгой передачи типов необходимо использовать typeScript.
Несмотря на то, что он прошел испытания на усталость, неожиданные сбои процесса все же могут произойти, поэтому рекомендуется запускать его под дочерним процессом.
Дикие указатели C++, нулевые указатели, переполнение памяти, ошибки ссылок, ошибки типов и т. д. — все это фатально для процесса, поэтому при написании новых функций необходимо постоянно проводить испытания на усталость при моделировании.