Винаги се препоръчва да изпълнявате всички задачи за изпращане/получаване в OnExecute
манипулатор на събития на TIdTCPServer
, но не разбирам следното:
Как да изчакате конкретна последователност при въвеждане и в същото време да изпратите някои данни на същия клиент? Нямам нужда от последователност команда-отговор, но трябва да:
- изпращайте постоянно данни на живо
- докато получават обратно редактирани данни
- и получаване на команди и предоставяне на отговори за тях.
Например, ако чакаме CR-LF:
procedure TSocketServer._serverExecute(AContext: TIdContext);
var
msg: string;
begin
msg := AContext.Connection.IOHandler.ReadLn();
//Here we are only if CRLF was detected.
//How to send while we are waiting?
_log(msg);
end;
IOHandler.ReadLn()
, извикайтеIOHandler.CheckForDataOnSource()
с изчакване и проверете сIOHandler.InputBufferIsEmpty()
- person Remy Lebeau   schedule 12.04.2019