У меня есть приложение, написанное в Delphi с использованием TClientSocket
, которое отправляет данные в другое приложение, написанное на C#. По многим причинам приложение C# работает медленно, блокируя приложение Delphi и не соблюдая тайм-аут, который я установил.TClientSocket в постоянном соединении Delphi
Мои Delphi приложение читает ответы, как это:
Sock.Socket.ReceiveText
Это заставляет приложение ждать ответа. Но если я сделаю это вместо этого, приложение ожидает и уважает тайм-аут:
while not receiveData do
begin
if Sock.Socket.ReceiveLength > 0 then
begin
receiveData := True;
end;
Inc(Cont);
Sleep(100);
if (Cont > 10) then
raise Exception.Create('Timeout');
end;
Мой Delphi приложение отправляет два запроса. Первый раз, но C# все еще обрабатывает его. Затем приложение My Delphi отправляет второй запрос, и на этот раз C# отправляет ответ для первого запроса.
Будет ли второй запрос получать данные для первого запроса? Или, когда я перейду в Delphi, они перейдут информацию?