Prezados colegas
Boa noite.
Gostaria de saber se existe alguma função para testar um IP e Porta de uma rede interna.
Exemplo : TesteIP("192.168.1.20",34567)
Se tiver só o teste de IP já ajuda mas o ideal é que testasse também a porta.
Desde já obrigado.
Até logo.
Marcelo
Testar ip e porta
Moderador: Moderadores
Testar ip e porta
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Testar ip e porta
Segue abaixo um exemplo:
Código: Selecionar todos
***************************************
STATIC FUNCTION INICIA_TESTE(cIP,nPORTA)
***************************************
LOCAL pSocket
IF EMPTY(cIP)
ALERT('IP inválido, Favor revisar')
RETURN(.F.)
ELSE
cIP:=ALLTRIM(cIP)
ENDIF
IF nPORTA=0
ALERT('Porta Invalida, Favor revisar')
RETURN(.F.)
ENDIF
INetInit()
pSocket := INetConnectIP( cIP, nPORTA ) // CONECTA NO TCP/IP
//pSocket := INetConnect( cIP, nPORTA ) // CONECTA NO TCP/IP
IF INetErrorCode( pSocket ) <> 0 // VEREFICA SE DEU ERRO A CONEXÃO
ALERT('Erro ao Tentar se conectar, Favor revisar o IP e PORTA, Erro: ' + INetErrorDesc(pSocket))
INetCleanUp() // limpa a conexão da memoria
RETURN(.F.)
ENDIF
INetClose( pSocket ) // FECHA CONEXÃO COM TCP/IP
INetCleanUp() // limpa a conexão da memoria
RETURN(.T.)
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Testar ip e porta
Obrigado Leonardo !
Funcionou perfeitamente.
Eu tinha feito uma função bem parecida, meu erro foi não ter colocado a função Inetinit().
:-Y
Abraços.
Marcelo
Funcionou perfeitamente.
Eu tinha feito uma função bem parecida, meu erro foi não ter colocado a função Inetinit().
:-Y
Abraços.
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Testar ip e porta
Fiz um pequeno ajuste para meu uso, pois achei que o retorno estava demorando muito (quando desconectado), principalmente por se tratar de um IP fixo e de uma rede interna.
Até logo.
Marcelo
Código: Selecionar todos
***************************************
Function Testaip()
***************************************
LOCAL pSocket
INetInit()
pSocket=InetCreate()
InetSetTimeout(pSocket, 1000) //Ajusta o timeout para 1 segundo
INetConnectIP( mIP, mPORTA, pSocket ) // CONECTA NO TCP/IP
IF INetErrorCode( pSocket ) <> 0 // VEREFICA SE DEU ERRO A CONEXÃO
Msginfo('Dispositivo de captura não encontrado !','Erro')
INetCleanUp() // limpa a conexão da memoria
Return(.F.)
ENDIF
INetClose( pSocket ) // FECHA CONEXÃO COM TCP/IP
INetCleanUp() // limpa a conexão da memoria
Return(.T.)
Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
