**HMN-win32: Pacote para Windows Net API **
ajuda
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 é um sub-ramo do HMC-WIN32. Diferente do HMC, o HMN lida apenas com APIs relacionadas à rede.
Ajuda de programação (chinês) ajuda (inglês) CPP (fonte)
instalação
Como ligar
let HMN = require ( "hmn-win32" ) ;
console . log ( "net:getConnectNetList=>" , hmn . getConnectNetList ( ) [ 0 ] )
No TypeScript usando o
import HMC = require ( "hmn-win32" ) ;
Visão geral dos recursos
Camada intermediária da API
- conversão de referência
- bool Converte conteúdo booleano em um tipo booleano seguro
- string converte conteúdo de texto/pseudotexto em texto seguro
- int converte conteúdo numérico/pseudonumérico em números int seguros
- HKEY Objetos HKEY em todos os registros
- Bloqueio assíncrono do sono
- método nativo de conexão direta HMN.node (não recomendado)
API
- ipv4 obtém o ip (v4) da rede local
- ip Obtém o ip da rede local (adaptador, v4, v6)
- **adapterIP **Obtém o ip da rede local (adaptador, v4, v6)
- adaptadorIPAsync obtém o ip da rede local (adaptador, v4, v6) [assíncrono assíncrono]
- public_ip obtém o ip da rede pública local [assíncrono assíncrono]
- getNetParams obtém informações da rede do host
- getNetParamsAsync obtém informações da rede do host
- freePort obtém uma porta livre tcp (serviço) [assíncrono assíncrono]
- freePortTCP obtém uma porta TCP gratuita [assíncrona assíncrona]
- freePortUDP obtém uma porta udp gratuita [assíncrona assíncrona]
- hasPortUDP determina se esta porta udp é gratuita [assíncrona assíncrona]
- hasPortTCP determina se esta porta TCP está inativa [assíncrona assíncrona]
- getSystemProxyServer Obtém o link do proxy do sistema (somente quando o proxy do sistema está habilitado)
- getSystemProxyPac Obtém o link do script pac do proxy do sistema
- getDomainIPaddress resolve o IP do host do nome de domínio do DNS padrão (rede)
- getDomainIPaddressAsync resolve o ip do host do nome de domínio do DNS padrão (rede) [assíncrono assíncrono]
- getHostsPath obtém o caminho do arquivo hosts
- getTCPv6PortProcessID obtém qual processo esta porta está ocupada
- getUDPv6PortProcessID Obtém qual processo esta porta está ocupada
- getUDPv4PortProcessID Obtém qual processo esta porta está ocupada
- getTCPv4PortProcessID obtém qual processo esta porta está ocupada
- getTCPv6PortProcessIDAsync obtém qual processo esta porta está ocupada [assíncrono assíncrono]
- getUDPv6PortProcessIDAsync obtém qual processo esta porta está ocupada [assíncrono assíncrono]
- getUDPv4PortProcessIDAsync obtém qual processo esta porta está ocupada [assíncrono assíncrono]
- getTCPv4PortProcessIDAsync obtém qual processo esta porta está ocupada [assíncrono assíncrono]
- getConnectNetList enumera as informações das portas TCP e UDP das portas ipv4 e ipv6 neste computador
- getConnectNetListAsync enumera as informações das portas TCP e UDP das portas ipv4 e ipv6 neste computador [assíncrono assíncrono]
- killProcess encerra o processo pid (direitos baixos, se você precisar matar com direitos altos, use hmc-win32)
- bloqueio de sincronização do sono (processo)
- Bloqueio assíncrono do sono (processo)
- PortWatchdog detecta alterações na porta e inicia um retorno de chamada se ela estiver fechada ou habilitada.
- getProcessidFilePath obtém a localização do arquivo executável do processo
- getProcessidFilePathAsync obtém a localização do arquivo executável do processo [assíncrono assíncrono]
- isAdmin determina se o software atual possui direitos de administrador
Reconstruir
Todas as APIs do HMC são implementadas usando winapi + nodeapi, portanto não há necessidade de recompilar (o node6.14.2 pode ser executado no ambiente node8 ou superior e precisa ser compilado com o esbuld sozinho se você precisar modificar o código-fonte). , use node-gyp rebuild
para compilar, o que requer uma certa base C/C++ e use o node-gyp como ferramenta de compilação. As ferramentas que você precisa usar são as seguintes:
- nó-gyp
- Visual Studio 2019 (ou outras versões)
Notificação de risco
Cada módulo funcional será chamado mais de mil vezes sem travar o processo.
A API foi estritamente transcodificada por meio de js e só é necessária ao chamar o nativo No entanto, como as linguagens C++ e C são estritamente digitadas, o typeScript deve ser usado estritamente para passar tipos estritamente.
Embora tenha sido submetido a testes de fadiga, ainda pode haver falhas inesperadas no processo, por isso é recomendado executá-lo em um processo filho.
Os ponteiros selvagens e nulos do C++, estouro de memória, erros de referência, erros de tipo, etc. são todos fatais para o processo, portanto, ao escrever novas funções, você precisa conduzir continuamente testes de fadiga de simulação.