Fórum Comando similiar ao Socket no Indy #337642
09/02/2007
0
Alguem poderi ajudar com o componente + o[u:b126c58ca5] comando [/u:b126c58ca5]que tem a mesma funcao do socket.sendtext(´texto) ?
Obrigado
Kitsystem
Curtir tópico
+ 0Posts
09/02/2007
Massuda
No caso do cliente, para escrever algo, use TIdTCPClient.Write ou TIdTCPClient.WriteLn.
Note que, geralmente, existe uma diferença básica entre o Indy e outros componentes de socket que é o fato do Indy usar IO síncrono enquanto outros componentes preferem IO assincrono. Por causa disso, em Indy quando você usa TIdTCPClient.WriteLn, esse método faz de fato a escrita dos dados e só retorna quando a escrita for concluída enquanto nos outros componentes geralmente tem algum evento que é disparado quando a escrita/leitura é completada (Indy não tem eventos desse tipo).
Gostei + 0
12/02/2007
Kitsystem
Muito obrigado, funcionou perfeitamente no Delphi e no Kylix com o comando IdTCPClient.Writeln(´protocolo´);
Mas nao consegui fazer o recebmento do pacote que pelo ClientScoket tem o evento OnRead que recebe qq byte
No Indy Client nao consegui fazer funcionar, testei alguns comandos e nada, percebi que tem alguns que colocam o terminador do campo etc etc, mas no meu caso eu fico recebendo de byte em byte
Se puder ajudar nesta dica, agradeco
Gostei + 0
12/02/2007
Massuda
var S: string; ... IdTCPClient1.WriteLn(´PING´); // espera a resposta do servidor S := IdTCPClient1.ReadLn; if S = ´PONG´ then ...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)