Classe: TSocketClient
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.
New
Cria o objeto TSocketClient sem conexão ativa.
TSocketClient(): New (
) -->
oRetorno
oRetorno () Retorna um objeto do tipo TSocketClient.
CloseConnection
Encerra a conexão TCP genérica (socket) do objeto corrente.
TSocketClient(): CloseConnection (
) -->
Connect
Estabelece uma conexão TCP genérica (socket).
TSocketClient(): Connect (
< nPorta>, < cIP>, < nTimeout> ) --> nRetorno
Nome Tipo Descrição Obrigatório Referência
nPorta Numérico Indica o número da porta onde a conexão será realizada. X
cIP Caracter Indica o número IP ou nome do servidor onde a conexão será realizada. X
nTimeout Numérico Indica o número em milissegundos onde o método deve esperar para conectar. X
nRetorno () Retorna 0 (zero) se conectar com sucesso; caso contrário, a conexão falhou.
GetError
Permite recuperar um código e uma string correspondendo à ultima ocorrência do Socket client registrada em caso de falha.
TSocketClient(): GetError (
) --> cRetorno
cRetorno (caracter) Retorna um código e uma string que corresponde à última ocorrência de SocketClient registrada em caso de falha. Caso não haja nenhuma falha registrada, a função retorna 0 (zero).
Método disponível em build superior a 7.00.101202A.
IsConnected
Verifica se existe conexão válida no objeto corrente.
TSocketClient(): IsConnected (
) --> lRetorno
lRetorno (logico) Retornar verdadeiro (.T.), se a conexão estiver ativa, ou falso (.F.), caso esteja inválida/desconectado.
Receive
Recebe qualquer tipo de dado pela conexão ativa do objeto.
TSocketClient(): Receive (
< cBuffer>, < nTimeout> ) --> nRetorno
Nome Tipo Descrição Obrigatório Referência
cBuffer Caracter Indica o buffer que contém os dados a serem recebidos. X
nTimeout Numérico Indica o tempo em milissegundos, que o método receive aguarda, para receber algum dado pela conexão. X
nRetorno () Retorna a quantidade de bytes recebidos. Caso ocorra algum erro, a quantidade recebida será menor que zero.
Reset
Encerra a conexão sem avisar o outro lado.
TSocketClient(): Reset (
) -->
Utilize este método somente em casos extremos.
Send
Transmite o buffer pela conexão TCP genérica ativa.
TSocketClient(): Send (
[ cBuffer] ) --> nRetorno
Nome Tipo Descrição Obrigatório Referência
cBuffer Caracter Indica a buffer que contém os dados que serão transmitidos pela conexão.
nRetorno () Retorna o número de bytes transmitidos. Caso o número seja diferente do tamanho especificado, no parâmetro cBuffer, algum erro aconteceu.
//Neste exemplo, observe a utilização de um cliente socket, note que para o programa funcionar corretamente, deve-se alterar os parâmetros da conexão.user function MySocketLocal oObj := tSocketClient():New()nResp := oObj:Connect( 999, "172.255.255.255", 1000 ) if(nResp == 0 ) Conout( "Conexão OK!" )else Conout( "Erro na Conexão OK! ", nResp ) returnendifcSend = "Ola!!!! Estou transmitindo um dado!"nResp := oObj:Send( cSend )if( nResp != len( cSend ) ) conout( "Erro! Dado nao transmitido" )else conout( "Dado Enviado" )endifcBuffer := ""nQtd = oObj:Receive( cBuffer, 10000 ) if( nQtd >= 0 ) conout( "Dados Recebidos " + Str( nQtd, 4, 0 ), cBuffer )else conout( "Nao recebi nada" )endifcSend = "Dados que será transmitido!!!"nResp := oObj:Send( cSend )if( nResp != len( cSend ) ) conout( "Erro! Dado nao transmitido" )else conout( "Dado Enviado" )endifif( oObj:IsConnected() ) conout( "OK! Estou conectado" )else conout( "Ops! Nao estou conectado" )endifoObj:CloseConnection()if( !oObj:IsConnected() ) conout( "Desconectei" )else conout( "Ainda estou conectado, erro na desconexao" )endif return
Advanced Protheus 6.09
,
Advanced Protheus 7.10
,
Microsiga Protheus 8.11
,
Protheus 10
,
TOTVS Application Server 10
,
ByYou Application Server