Delphi 2006 と Indy 10 を使用しています。フォームを作成し、IdHttpServer コンポーネントをドロップダウンします。サーバーをアクティブに設定するフォームの OnCreate イベントを作成し、サーバーの OnCommandGet に次の行を入力します。
procedure TForm3.IdHTTPServerCommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
begin
Beep;
Sleep(10000);
AResponseInfo.ContentText := DateTimeToStr(Now);
end;
10 秒間のスリープに注意してください。
次に、2 つのブラウザーを使用して Firefox でテストします。最初のものを「localhost」に接続すると、すぐにビープ音が聞こえます。次に、2 番目のブラウザーにタブで移動し、localhost に接続します (10 秒以内) が、すぐにはビープ音が鳴りません。最初のリクエストが完了するのを待ってビープ音を鳴らし、さらに 10 秒間待ちます。
これらのコンポーネントはマルチスレッドだと思いましたか? 私が思ったように動作させるために設定できるプロパティはありますか (両方の要求がすぐに応答されます)。