**HMN-win32: Paquete para Windows Net API **
ayuda
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 es una subrama de HMC-WIN32. A diferencia de HMC, HMN solo maneja API relacionadas con la red.
Ayuda de programación (chino) ayuda (inglés) CPP (fuente)
instalación
como llamar
let HMN = require ( "hmn-win32" ) ;
console . log ( "net:getConnectNetList=>" , hmn . getConnectNetList ( ) [ 0 ] )
En TypeScript usando el
import HMC = require ( "hmn-win32" ) ;
Descripción general de las funciones
API de capa media
- conversión de referencia
- bool Convierte contenido booleano en un tipo booleano seguro
- cadena convierte contenido de texto/pseudotexto en texto seguro
- int convierte contenido numérico/pseudonumérico en números int seguros
- HKEY Objetos HKEY en todos los registros
- Bloqueo asincrónico del sueño
- método nativo para conectar directamente HMN.node (no recomendado)
API
- ipv4 obtiene la ip (v4) de la red de área local
- ip Obtiene la ip de la red de área local (adaptador, v4, v6)
- **adapterIP **Obtener la ip de la red de área local (adaptador, v4, v6)
- adaptIPAsync obtiene la IP de la red de área local (adaptador, v4, v6) [asíncrono asíncrono]
- public_ip obtiene la IP de la red pública local [asíncrono asíncrono]
- getNetParams obtiene información de la red del host
- getNetParamsAsync obtiene información de la red del host
- freePort obtiene un puerto tcp libre (servicio) [asíncrono asíncrono]
- freePortTCP obtiene un puerto tcp libre [asíncrono asíncrono]
- freePortUDP obtiene un puerto udp gratuito [asíncrono asíncrono]
- hasPortUDP determina si este puerto udp está libre [asíncrono asíncrono]
- hasPortTCP determina si este puerto TCP está inactivo [asíncrono asíncrono]
- getSystemProxyServer Obtiene el enlace del proxy del sistema (solo cuando el proxy del sistema está habilitado)
- getSystemProxyPac Obtiene el enlace del script pac del proxy del sistema.
- getDomainIPaddress resuelve la IP del host del nombre de dominio desde el dns predeterminado (redes)
- getDomainIPaddressAsync resuelve la IP del host del nombre de dominio desde el dns predeterminado (redes) [asíncrono asíncrono]
- getHostsPath obtiene la ruta del archivo de hosts
- getTCPv6PortProcessID obtiene qué proceso ocupa este puerto
- getUDPv6PortProcessID Obtiene qué proceso está ocupado por este puerto.
- getUDPv4PortProcessID Obtiene qué proceso está ocupado por este puerto.
- getTCPv4PortProcessID obtiene qué proceso ocupa este puerto
- getTCPv6PortProcessIDAsync obtiene qué proceso está ocupado este puerto [asíncrono asíncrono]
- getUDPv6PortProcessIDAsync obtiene qué proceso está ocupado este puerto [asíncrono asíncrono]
- getUDPv4PortProcessIDAsync obtiene qué proceso está ocupado este puerto [asíncrono asíncrono]
- getTCPv4PortProcessIDAsync obtiene qué proceso está ocupado este puerto [asíncrono asíncrono]
- getConnectNetList enumera la información de los puertos TCP y UDP de los puertos ipv4 e ipv6 en esta computadora
- getConnectNetListAsync enumera la información de los puertos TCP y UDP de los puertos ipv4 e ipv6 en esta computadora [asíncrono asíncrono]
- KillProcess finaliza el proceso pid (derechos bajos, si necesita matar con derechos altos, use hmc-win32)
- bloqueo de sincronización del sueño (proceso)
- Bloqueo asincrónico del sueño (proceso)
- PortWatchdog detecta cambios en el puerto e inicia una devolución de llamada si está cerrado o habilitado.
- getProcessidFilePath obtiene la ubicación del archivo ejecutable del proceso
- getProcessidFilePathAsync obtiene la ubicación del archivo ejecutable del proceso [asíncrono asíncrono]
- isAdmin determina si el software actual tiene derechos de administrador
Reconstruir
Todas las API de HMC se implementan utilizando winapi + nodeapi, por lo que no es necesario volver a compilar (node6.14.2 puede ejecutarse en el entorno node8 o superior y debe compilarse con esbuld solo si necesita modificar el código fuente). , utilice node-gyp rebuild para compilar, lo que requiere Tenga una determinada base de C/C++ y utilice node-gyp como herramienta de compilación. Las herramientas que debe utilizar son las siguientes:
- nodo-gyp
- Visual Studio 2019 (u otras versiones)
Notificación de riesgo
Cada módulo funcional será llamado más de mil veces sin que el proceso se bloquee.
La API se ha transcodificado estrictamente a través de js y solo se requiere cuando se llama a la versión nativa. Sin embargo, dado que tanto el lenguaje C ++ como el C están estrictamente tipificados, typeScript debe usarse estrictamente para pasar tipos estrictamente.
Aunque se ha sometido a pruebas de fatiga, es posible que aún se produzcan fallos inesperados en el proceso, por lo que se recomienda ejecutarlo bajo un proceso secundario.
Los punteros salvajes y los punteros nulos de C ++, el desbordamiento de memoria, los errores de referencia, los errores de tipo, etc. son fatales para el proceso, por lo que al escribir nuevas funciones, es necesario realizar continuamente pruebas de fatiga de simulación.