Página 1 de 1
Testar ip e porta
Enviado: 04 Jan 2016 23:10
por Clipper
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
Enviado: 05 Jan 2016 00:48
por sygecom
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.)
Testar ip e porta
Enviado: 05 Jan 2016 23:12
por Clipper
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
Testar ip e porta
Enviado: 06 Jan 2016 06:45
por Clipper
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.
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.)
Até logo.
Marcelo