Delphi Can

Orjinalini görmek için tıklayınız: Web Server
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Mevcut VCL uygulamamın içerisine bir web server eklemem gerekti ve bunu TIdHTTPWebBrokerBridge vasıtası ile gerçekleştirdim. Öncelikle bir uyarıda bulunayım ardından da bir soru sorayım.

TWebDispatcher içinde tanımladığınız Action'ların OnAction olayında yazmış olduğunuz kodlar main thread'in context'in de değil, başka bir thread context'inde çalışır.(Beklendiği gibi, neticede bu bir Web Server). Dolayısı ile ana thread'in kontrol ettiği görsel bileşenlere ya da ortak kullanımda olan nesnelere erişir iken dikkatli olun.

Şimdi gelelim soruma:

İlgili Action'ın OnAction olayına yazdığım kodlar çalışır iken (varsayalım 100 saniye sürecek), kullanıcı uygulamadan çıkmak ister ise; bu durumda Web Server'ı stop ediyorum (Active := false). Ancak, hâla içeride çalışan bir thread olduğu için, Web Server bu çalışan thread'in sonlanmasını bekler durumda oluyor. İlgili thread'leri TerminateThread ya da ona benzer prematüre yöntemler ile sonlandırmak istemiyorum, ancak uzun süre beklemek de istemiyorum. İlgili nesnenin (TIdHTTPWebBrokerBridge) TerminateWaitTime property'sinin varsayılan değeri 5000, ben bu değeri Server'ı stoplamadan önce 1000 değeri ile değiştiriyorum ama etkisini göremedim.

Indy kodlarının içinde kaybolmadan önce, bu konu ile uğraşmış olan bir arkadaşım var mı diye sormak istedim sizlere. Maalesef ilgili sınıfın dökümantasyonu da yok.

Kısaca niyetim, Server'ı hızlıca Shutdown etmek.
Merhaba Tuğrul Bey,

INDY'nin hangi sürümünü kullanıyorsunuz?

INDY Dökümantasyonunun olmadığını belirtmişsiniz, doğru, Indyproject.org'da bu dökümanlar bulunmuyor dediğiniz gibi. Buna istinaden aşağıdaki linkleri kullanabilirsiniz;

Indy-9-0-Help-Html.zip

Indy-9-0-Help-Pdf.zip

IndyDocs_10.1.5.0_Html.zip

IndyDocs_10.1.5.0_Pdf.zip

Diğer belgeler için aşağıdaki linkten faydalanılabilir;

http://mediaserver.fh-wedel.de/public/la...loads.html

http://www.indyproject.org/Sockets/Docs/index.en.aspx
Bu linkden INDY son sürümleri indirebilirsiniz.
Güncelleme sıklığı neredeyse hergün Smile
İçerisinde demolarda bulunmakta.


https://indy.fulgan.com/
Indy 10.1.5 versiyonunu kullanıyorum. Delphi Seattle ile birlikte. Indy'nin bahsettiğiniz help dökümanlarında TIdHTTPWebBrokerBridge ile ilgili malümat var mı bilmiyorum ama bir tanesini indirdim ve göremedim. Benim sorunum dökümantasyon da değil esasen.

Indy'nin yeni versiyonları ile de ilgilenmiyorum. İstediğim server'ı hızlıca shutdown edebilmek. Herneyse, anlaşılan o ki indy kaynak kodlarına doğru bir yolculuğa çıkacağız. İlgilenen arkadaşlarıma teşekkür ederim.
Hocam çözebilirsen bilgi almak isterim, bi ara karıştırmıştım kodlarını ama yetersizim o konuda.