Sintaxe

cIP/aAddresses := getServerIP( [<lGetAllAddress>] )

Parâmetros

NomeTipoDescriçãoObrigatórioReferênciaObservações
lGetAllAddressLógico

Indica se deve ser retornado todos os endereços relacionados ao servidor.

  (aviso) Disponível em build igual ou superior a 7.00.131227a

Retorno

NomeTipoDescriçãoObservações
cIPCaractereSe lGetAllAddress não for informado ou .F., retorna o endereço IPv4 do servidor. 
aAddressesArray

Se lGetAllAddress for .T., retorna todos os endereços relacionados ao servidor em um array.

Estrutura do array:

PosiçãoTipoDescrição
1CaractereTipo do IP (IPv6 ou IPv4)
2NuméricoSocketType (0 - Unspecified, 1 - Stream Socket, 2 - Datagram socket, 3 - Raw-protocolo interface, 4 - Reliably-delivered message, 5 - Sequenced packet stream)
3NuméricoProtocolo (0 - TCP, 17 - UDP, 255 - RAW)
4CaractereEndereço IP relacionado a interface
(aviso) Disponível em build igual ou superior a 7.00.131227a

Observações

  1. Até a build 7.00.090818p, a função retorna o IP configurado no  para a conexão com o .
  2. A partir da build 7.00.100812p, a função retorna o IP do  se o programa for iniciado a partir de um .
  3. A partir da build 7.00.120420a, a função retorna o IP do quando chamado em JOB, RPC ou qualquer outro processo sem interface. Em builds anteriores, a função retornava uma string em branco.
  4. A partir da build 7.00.1312227a, a função pode retornar todos os IPs de todas as interfaces do , inclusive os endereços IPv6.
  5. 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.
  6. 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

  1. Exemplo 

    user function exemplo()
    return msgInfo(getServerIP())

  2. Exemplo 

    user function exemplo()
    local aAddresses := getServerIP(.T.)
    local cDetails := ""
    local i := 0
      for i := 1 to len(aAddresses)
        cDetails := cValToChar(i)
        cDetails += chr(13) + chr(10) + aAddresses[i][1]
        cDetails += chr(13) + chr(10) + cValToChar(aAddresses[i][2])
        cDetails += chr(13) + chr(10) + cValToChar(aAddresses[i][3])
        cDetails += chr(13) + chr(10) + aAddresses[i][4]
        msginfo(cDetails)
      next i
    return