Page tree
Skip to end of metadata
Go to start of metadata

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

Hierarquia

  • TSocketClient

Construtores

Métodos

Exemplos

Exemplo 1
 #INCLUDE 'TOTVS.CH'
// --------------------------------------------
// Exemplo de conexão via Socket, neste caso
// será conectado um socket em Delphi via AdvPL
// --------------------------------------------
User Function SocketTest()
Local oObj := tSocketClient():New()
Local nX := 0

// -------------------------------
// Tenta conectar 3 vezes
// -------------------------------
For nX := 1 to 3         
  nPort := 812
  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 := "Dados enviados pelo AdvPL..."
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
  • No labels