Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 2 Próxima »

Estabelece uma conexão client de socket do tipo SSL/TLS genérica. Através desta classe, é possível enviar e receber dados por meio de um socket SSL/TLS genérico e utilizar como base para implementação de protocolo não suportado pela aplicação.


Esta classe estará disponível apenas na próxima Build oficinal do TOTVS Application Server – superior a 7.00.170117A 


Hierarquia

  • TSSLClient

Construtores

Métodos

Exemplos

Exemplo 1
 #INCLUDE 'TOTVS.CH'
// --------------------------------------------
// Exemplo de conexão via Socket, neste caso
// será conectado um socket de um servidor HTTPS na maquina local 
// --------------------------------------------
User Function SocketTest()
Local oObj := TSSLClient():New()
Local nX := 0

// -------------------------------
// Tenta conectar 3 vezes
// -------------------------------
For nX := 1 to 3         
  nPort := 443
  nIp := 'localhost'
  nResp := oObj:Connect( nPort,nIp,10 )
  // -------------------------------
  // Se conectou abandona o FOR
  // -------------------------------
  if(nResp == 0 )
    exit
  else
    conout("--> Tentativa de Conexão: " + StrZero(nX,3))
    Sleep(2000) 
    continue
  endif
Next           
    
// --------------------------------------
// Verifica se a conexão foi bem sucedida
// --------------------------------------
if( !oObj:IsConnected() ) 
  conout("--> Falha na conexão")
  return 
else
  conout("--> Conexão OK")
endif

// -------------------------------
// Teste de envio para o socket
// -------------------------------
cSend := "GET / HTTP/1.1"+CRLF
cSend += "Host: localhost" +CRLF+CRLF
nResp := oObj:Send( cSend )
if( nResp != len( cSend ) )               
  conout( "--> Erro! Dado não transmitido" )
else
  conout( "--> Dado Enviado - Retorno: " +StrZero(nResp,5) )
endif

// -------------------------------
// Teste de recebimento do socket
// -------------------------------
cBuffer := ""
nResp = oObj:Receive( @cBuffer, 10000 ) 
if( nResp >= 0 )
    conout( "--> Dados Recebidos " + StrZero(nResp,5) )
    conout( "--> ["+cBuffer+"]" )
else
    conout( "--> Não recebi dados" )
endif

// -------------------------------
// Fecha conexão
// -------------------------------
oObj:CloseConnection()
conout( "--> Conexão fechada" )
Return
  • Sem rótulos