**HMN-win32 : package pour l'API Windows Net **
aide
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 est une sous-branche de HMC-WIN32. Différent de HMC, HMN gère uniquement les API liées au réseau.
Aide à la programmation (chinois) aide (anglais) CPP (source)
installation
Comment appeler
let HMN = require ( "hmn-win32" ) ;
console . log ( "net:getConnectNetList=>" , hmn . getConnectNetList ( ) [ 0 ] )
En TypeScript en utilisant le
import HMC = require ( "hmn-win32" ) ;
Présentation des fonctionnalités
Couche intermédiaire de l'API
- conversion de référence
- bool Convertir le contenu booléen en un type bool sécurisé Booléen
- la chaîne convertit le contenu texte/pseudo-texte en texte sécurisé
- int convertit le contenu numérique/pseudo-numérique en nombres int sûrs
- HKEY Objets HKEY dans tous les registres
- Blocage asynchrone du sommeil
- méthode native de connexion directe à HMN.node (non recommandée)
API
- ipv4 obtient l'adresse IP (v4) du réseau local
- ip Obtient l'adresse IP du réseau local (adaptateur, v4, v6)
- **adapterIP **Obtenir l'adresse IP du réseau local (adaptateur, v4, v6)
- adapterIPAsync obtient l'adresse IP du réseau local (adaptateur, v4, v6) [asynchrone async]
- public_ip obtient l'adresse IP du réseau public local [asynchrone async]
- getNetParams obtient les informations sur le réseau hôte
- getNetParamsAsync obtient les informations sur le réseau hôte
- freePort obtient un port (service) gratuit TCP [asynchrone asynchrone]
- freePortTCP obtient un port TCP gratuit [asynchrone async]
- freePortUDP obtient un port udp gratuit [asynchrone async]
- hasPortUDP détermine si ce port udp est libre [asynchrone async]
- hasPortTCP détermine si ce port TCP est inactif [asynchrone async]
- getSystemProxyServer Obtient le lien du proxy système (uniquement lorsque le proxy système est activé)
- getSystemProxyPac Obtient le lien du script pac du proxy système
- getDomainIPaddress résout l'adresse IP de l'hôte du nom de domaine à partir du DNS par défaut (réseau)
- getDomainIPaddressAsync résout l'adresse IP de l'hôte du nom de domaine à partir du DNS par défaut (réseau) [asynchrone asynchrone]
- getHostsPath obtient le chemin du fichier hosts
- getTCPv6PortProcessID obtient le processus par lequel ce port est occupé
- getUDPv6PortProcessID Obtient le processus par lequel ce port est occupé
- getUDPv4PortProcessID Obtient le processus par lequel ce port est occupé
- getTCPv4PortProcessID obtient le processus par lequel ce port est occupé
- getTCPv6PortProcessIDAsync obtient quel processus ce port est occupé [asynchrone async]
- getUDPv6PortProcessIDAsync obtient quel processus ce port est occupé [asynchrone async]
- getUDPv4PortProcessIDAsync obtient quel processus ce port est occupé [asynchrone async]
- getTCPv4PortProcessIDAsync obtient quel processus ce port est occupé [asynchrone async]
- getConnectNetList énumère les informations sur les ports TCP et UDP des ports ipv4 et ipv6 de cet ordinateur
- getConnectNetListAsync énumère les informations sur les ports TCP et UDP des ports ipv4 et ipv6 de cet ordinateur [asynchrone asynchrone]
- killProcess termine le processus pid (droits faibles, si vous devez tuer avec des droits élevés, veuillez utiliser hmc-win32)
- blocage de la synchronisation du sommeil (processus)
- Blocage asynchrone du sommeil (processus)
- PortWatchdog détecte les changements de port et lance un rappel s'il est fermé ou activé.
- getProcessidFilePath obtient l'emplacement du fichier exécutable du processus
- getProcessidFilePathAsync obtient l'emplacement du fichier exécutable du processus [asynchrone asynchrone]
- isAdmin détermine si le logiciel actuel dispose de droits d'administrateur
Reconstruire
Toutes les API de HMC sont implémentées à l'aide de winapi + nodeapi, il n'est donc pas nécessaire de recompiler (node6.14.2 est autorisé à s'exécuter dans un environnement node8 ou supérieur et doit être compilé avec esbuld par lui-même si vous devez modifier le code source). , veuillez utiliser node-gyp rebuild
pour compiler, ce qui nécessite une certaine base C/C++ et utiliser node-gyp comme outil de compilation. Les outils que vous devez utiliser sont les suivants :
- nœud-gyp
- Visual Studio 2019 (ou autres versions)
Notification des risques
Chaque module fonctionnel sera appelé plus de mille fois sans crash du processus.
L'API a été strictement transcodée via js et n'est requise que lors de l'appel de natif Cependant, étant donné que les langages C++ et C sont strictement typés, typeScript doit être utilisé strictement pour transmettre strictement les types.
Bien qu'il ait subi des tests de fatigue, des pannes de processus inattendues peuvent encore se produire, il est donc recommandé de l'exécuter sous un processus enfant.
Les pointeurs sauvages et les pointeurs nuls du C++, les débordements de mémoire, les erreurs de référence, les erreurs de type, etc. sont tous fatals au processus, donc lors de l'écriture de nouvelles fonctions, vous devez effectuer en permanence des tests de fatigue de simulation.