GetServerIP
Retorna o número IP do servidor onde a aplicação Advpl está sendo executada.
Sintaxe
GetServerIP( [ lGetAllAddress ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
lGetAllAddress | lógico | Indica se deve ser retornado todos os endereços relacionados ao servidor. |
|
|
Retorno
Nome | Tipo | Descrição |
---|---|---|
cIP | caractere | Se lGetAllAddress não for informado ou .F., retorna o endereço IPv4 do servidor. Esse é o retorno caso lGetAllAddress seja Falso (.F.) ou não seja informado |
aAddrs | vetor | Se lGetAllAddress for .T., retorna todos os endereços relacionados ao servidor em um array (vide OBS para estrutura do array). |
Observações
- Parâmetro lGetAllAddress está disponível em versão igual ou superior à 7.00.131227A.
- Estrutura do retorno quando lGetAllAddress for verdadeiro (apenas em versão igual ou superior a 7.00.131227A):
Posição | Tipo | Descrição |
---|---|---|
1 | Caractere | Tipo do IP (IPv6 ou IPv4) |
2 | Numérico | SocketType (0 - Unspecified, 1 - Stream Socket, 2 - Datagram socket, 3 - Raw-protocolo interface, 4 - Reliably-delivered message, 5 - Sequenced packet stream) |
3 | Numérico | Protocolo (0 - TCP, 17 - UDP, 255 - RAW) |
4 | Caractere | Endereço IP relacionado a interface |
- Até a build 7.00.090818p, a função retorna o IP configurado no TOTVS | SmartClient para a conexão com o TOTVS | Application Server.
- A partir da build 7.00.100812p, a função retorna o IP do TOTVS | Application Server se o programa for iniciado a partir de um TOTVS | SmartClient.
- A partir da build 7.00.120420a, a função retorna o IP do TOTVS | Application Serverquando chamado em JOB, RPC ou qualquer outro processo sem interface. Em builds anteriores, a função retornava uma string em branco.
- A partir da build 7.00.1312227a, a função pode retornar todos os IPs de todas as interfaces do TOTVS | Application Server, inclusive os endereços IPv6.
- Caso o servidor possua mais de uma interface de rede, o retorno é arbitrário, depende do comportamento do sistema operacional em uso para ordenação das interfaces de rede disponíveis no equipamento (em versões anteriores a 7.00.131227A ou se o parâmetro lGetAllAddress seja Falso).
- O processo de resolução de nomes depende inclusive do sistema operacional utilizado, e em algumas distribuições do Linux (exemplo Red Hat, SUSE) podem requerer configurações adicionais do sistema operacional.
Exemplos
user function exemplo() return msgInfo(getServerIP())