Jump to content

dev botao

Comandos por Socks


Go to solution Solved by sinval.gedolin,
  • Este tópico foi criado há 1311 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Caros amigos, este é um trecho de meu programa ADVPL, ele está conectando, porem envio umcomando ao monitor e não recebo nada. será que estou enviando o comando correto/

Na variável cSEND eu coloco a String que queri enviar por Socks ao endereço e porta conectado.

me ajudem com a sintaxe correta do comando sock do AcBr porfavor.

 

    For nX := 1 to 3
        nResp := oObj:ConnectnPort,nIp,10 )
        // -------------------------------
        // Se conectou abandona o FOR
        // -------------------------------
        If(nResp == 0 )
            Exit
        Else
            conout("--> Tentativa de Conexão ACBr: " + StrZero(nX,3))
            Sleep(2000)
        EndIf
    Next
 
    If( !oObj:IsConnected() )
        conout("*********  Não foi possível estabelecer conexão com o ACBr. *********")
        Return(.F.)
    Else
        conout("****************** ACBr CONECTADO! ************************")
        Sleep(2000)
        cSend := 'NFe.DistribuicaoDFeporUltNSU("52","37247772000132","0")'
        nResp := oObj:SendcSend )
        oObj:CloseConnection()
    EndIf   
 
 
Link to comment
Share on other sites

  • Administradores

Boa tarde.

Por favor anexe o log do ACBrMonitorPlus para que possamos analisar melhor.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Administradores

Tópico movido para a área do SAC, para que o SLA de respostas seja considerado

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

Rafaael, eu coloco em ANSI mesmo ou em ASCII

acha que colocar "\r\n.\r\n" depois de meu comando funciona?

cSend := 'NFe.DistribuicaoDFeporUltNSU("52","37247772000132","0")'+"\r\n.\r\n"

antigamente eu finalizava com isso, mas era outro produto acebr

 Chr(13)+Chr(10)+Chr(46)+Chr(13)+Chr(10)
Link to comment
Share on other sites

Amigos notem que coloquei os caracteres junto com a string, e mesmo assim, não funcionou.

    Private oObj := tSocketClient():New()
    Private _cEol := Chr(13)+Chr(10)+Chr(46)+Chr(13)+Chr(10)
 
    For nX := 1 to 3
        nResp := oObj:ConnectnPort,nIp,10 )
        // -------------------------------
        // Se conectou abandona o FOR
        // -------------------------------
        If(nResp == 0 )
            Exit
        Else
            conout("--> Tentativa de Conexão ACBr: " + StrZero(nX,3))
            Sleep(2000)
        EndIf
    Next
 
    If( !oObj:IsConnected() )
        conout("*********  Não foi possível estabelecer conexão com o ACBr. *********")
        Return(.F.)
    Else
        conout("****************** ACBr CONECTADO! ************************")
        Sleep(2000)
        cSend := 'NFe.DistribuicaoDFeporUltNSU("52","37247772000132","0")'+_cEol
        nResp := oObj:SendcSend )
        oObj:CloseConnection()
    EndIf   
Link to comment
Share on other sites

  • Moderadores

Por favor tente anexar o que a Juliana pediu assim dá pra identificar

17 horas atrás, Juliana Tamizou disse:

Boa tarde.

Por favor anexe o log do ACBrMonitorPlus para que possamos analisar melhor.

Att.

 

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link to comment
Share on other sites

  • Solution

coloquei para que o ADVPL fizesse uma pausa de 15 segundos antes de fechar a conexão SOCKs, se ver no codigo acima, foi colocado para ele fechar a conexão depois de enviar  comando.

E antes dos 15 segundos eu fiz uma verificação se houve algum retorno.

ficando assim:

 

 

    Private oObj        := tSocketClient():New()
    Private _cEol       := Chr(13)+Chr(10)+Chr(46)+Chr(13)+Chr(10)
 
    For nX := 1 to 3
        nResp := oObj:ConnectnPort,nIp,10 )
        // -------------------------------
        // Se conectou abandona o FOR
        // -------------------------------
        If(nResp == 0 )
            Exit
        Else
            conout("--> Tentativa de Conexão ACBr: " + StrZero(nX,3))
            Sleep(2000)
        EndIf
    Next
 
    If( !oObj:IsConnected() )
        conout("*********  Não foi possível estabelecer conexão com o ACBr. *********")
        Return(.F.)
    Else
        conout("****************** ACBr CONECTADO! ************************")
        Sleep(2000)
        cSend := 'NFe.DistribuicaoDFeporUltNSU("52","37247772000132","0")'+_cEol
        nResp := oObj:SendcSend )
        ifnResp != lencSend ) )
            conout"--> Erro! Dado não transmitido" )
        else
            conout"--> Dado Enviado - Retorno: " +StrZero(nResp,5) )
        endif
        Sleep(20000)
        conout("****************** Fechando o ACBr! ************************")
        oObj:CloseConnection()
    EndIf

 

  • Like 2
Link to comment
Share on other sites

  • Este tópico foi criado há 1311 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.