Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
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.

  • Membros Pro
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.

  • Membros Pro
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.

  • Membros Pro
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á 1357 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.