PDA

Visualizza la versione completa : [DELPHI-INDY] IdTCPClient: voglio essere informato sull'arrivo degli TCP_ACK


Fukal
13-02-2009, 11:15
Salve amici, sto scrivendo un'applicazione TCP Client/Server in Delphi 2007. Uso la libreria IdTCPClient per gestire la connessione TCP.

Ho la necessita di poter leggere, o comunque sapere quando ricevo un ACK dal server in seguito all'invio di un messaggio dal client (cioè io).


C'è questa possibilità?


Eventualmente usando direttamente le APi di windows si può fare qualcosa?

Vi ringrazio :)

maffio
13-02-2009, 11:51
Non so se può esserti di aiuto, io per inviare comandi e comunicare tra client e server utilizzo i componenti TidRExec e TidRExecServer.

- Client -
IdRexec.Host := IpAddress;
IdRexec.Port := Porta;
IdRexec.ConnectTimeout := TimeOut;
IdRexec.Connect;
Output := IdRexec.Execute(<InputCommand>);
IdRexec.Disconnect;


- Server -
procedure TFrmMenu.IdRexecServerCommand(AThread: TIdContext;
AStdError: TIdTCPClient; AUserName, APassword, ACommand: String);


if ACommand = <COMANDO> then begin
<Esegui comando>
IdRexecServer.SendResults(AThread,AStdError,<risposta>);
end;

Fukal
13-02-2009, 11:55
Ti ringrazio per la risposta, ma il server non lo gestisco io, e neanche l'applicazione lato server :)

denis76
15-02-2009, 18:15
L'ack per te è il classico carattere ascii n° 6? Io non credo. Di solito l'ack è una sequenza di byte costruita in un certo modo per confermare l'ordine appena inviato.
Comunque una volta si usava il carattere 6 ed eventualmente il nak, carattere 21.

http://www.asciitable.it/ascii.asp

Loading