Ir para conteúdo
  • Cadastre-se

  • Este tópico foi criado há 1921 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membro Pro Verificado
Postado

Boa tarde!

Pessoal eu fazendo os teste na minha maquina não consegui mandar a string nem receber as respostas do servidor local o conectar funciona.

Mas em produção esta dando certo de conectar, enviar a string e não consegui pegar a resposta alguém consegue me ajudar.

Estou seguindo o exemplo do Monitorplus com o Server TCP

Desde já Agradeço.

  • Fundadores
Postado

Não entendi muito bem o post...

Você está usando o Demo de conexão do MonitorPLUS, para conectar em qual serviço ?

ajudaria se você desse mais informações sobre o servidor que está do outro lado...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membro Pro Verificado
Postado

Criei um projeto cliente que quando inicia ele conecta no exemplo de servidor TCP

      try

        frmPrincipal.fSocket.Connect('localhost','3434');
        sRespostaRequisicao := fSocket.RecvTerminated(10000, #3);

        fSocket.SendString('teste passa para o servidor');
        sRespostaRequisicao := fSocket.RecvTerminated(10000, #3);

      finally
        fSocket.CloseSocket;
      end;

 

*O Cliente conecta no servidor e  status do servidor inclui o "Conexão estabelecia..." mas não volta para a resposta de "Seja bem vindo".

procedure TForm1.ACBrTCPServer1Conecta(const TCPBlockSocket: TTCPBlockSocket; var Enviar: AnsiString);
begin
  mOutput.Lines.Add('Conexão estabelecida de: ' + TCPBlockSocket.GetRemoteSinIP ) ;
  Enviar := 'Seja bem vindo' + #13+#10;
  ExibirConexoes ;
end;

* a string que estou enviando  " fSocket.SendString('teste passa para o servidor');" não esta chegando no servidor TCP

 

 

  • Fundadores
Postado
18 minutos atrás, AG Sistemas disse:

        sRespostaRequisicao := fSocket.RecvTerminated(10000, #3);

Aqui você está presumindo que o Servidor envia uma String que termina com ETX (#3)...

É realmente isso que ele faz ? Você precisa conhecer os detalhes do protocolo de comunicação, antes de tentar implementá-lo...

Veja outros métodos de recebimento de dados.. como RecvBufferStr

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Membro Pro Verificado
Postado

Você esta certo. Eu não sabia oque seria este parametro. 

Fiz um teste usando "RecvString(timeout); " teoricamente neste modo ele teria que retornar oque o servidor mandar certo ?

Tentei RecvBufferStr tambem não consegui pegar a string.

  • Membro Pro Verificado
Postado

Obrigado pela ajuda deu certo deu usei o Indy TCPClient.

      IdTCPClient             := TIdTCPClient.Create;
      IdTCPClient.Host        := sURL;
      IdTCPClient.Port        := sPorta;
      IdTCPClient.ReadTimeout := 10000;
      IdTCPClient.Connect;

      sListaTeste  := TStringList.create;
      IdTCPClient.IOHandler.WriteLn(sDadosNegativacao);
      sRespostaRequisicao := IdTCPClient.IOHandler.ReadString(449);

  • Este tópico foi criado há 1921 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...