ClientSocket Programı Donduruyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
emrahgs
Üye
Mesajlar: 110
Kayıt: 08 Tem 2008 06:25
Konum: Antalya

ClientSocket Programı Donduruyor

Mesaj gönderen emrahgs »

Arkadaşlar network dan bilgi gönderen endüstriyel terazilerden
ClientSocket ile bağlanıp veri alıyorum verilerin gelmesinde bir problem yok

Fakat 3 Tane Teraziden 3 Farklı Clientsocket ile veri geliyor ve bu programın işlemcide sürekli artmasına neden alıyor
%25 ini kullanmaya başlayınca da program Donuyor.

Bu Konuda Yardım Edebilir misiniz?

*tek bir terazi varken donma olmuyordu
*Saniyede 5-6 kayıt geliyor her bir her bir teraziden
*forma Bir Timer Koyup Her saniye Terazilere bağlantıyı Kapat açmayı denedim bu donmayı biraz geciktirdi fakat bi sonuca ulaşamadım

Kod: Tümünü seç

procedure TfKayit.Timer1Timer(Sender: TObject);
begin
  if ClientSocket1.Tag=1 then ClientSocket1.Active :=  not ClientSocket1.Active;
  if ClientSocket2.Tag=1 then ClientSocket2.Active :=  not ClientSocket2.Active;
  if ClientSocket3.Tag=1 then ClientSocket3.Active :=  not ClientSocket3.Active;
  if ClientSocket4.Tag=1 then ClientSocket4.Active :=  not ClientSocket4.Active;
end;
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: ClientSocket Programı Donduruyor

Mesaj gönderen ertank »

Merhaba,

ClientSocket bloke eden soket türünde bağlantı kuruyor. Bunun yerine ücretsiz ICS OverByte bileşenlerini kullanabilirsiniz. Bu bileşenler bloke etmeyen şekilde çalışırlar. Bu anlamda kullanımları ilk etapta biraz ters gelebilir. Ancak bir kez uyguladıktan sonra bahsettiğiniz sorunlar ile karşılaşmazsınız.
http://www.overbyte.be/frame_index.html
emrahgs
Üye
Mesajlar: 110
Kayıt: 08 Tem 2008 06:25
Konum: Antalya

Re: ClientSocket Programı Donduruyor

Mesaj gönderen emrahgs »

Cevabınız için Teşekkür ederim component kullanamam maalesef sorunu yöntemi değiştirerek aşmayı düşüyorum anlık okuma değil istenildiğinde okuma gibi
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: ClientSocket Programı Donduruyor

Mesaj gönderen SimaWB »

TClientSocket'in ClientType'ı ctBlocking modda iken Thread içerisinde kullanırsanız bence donma yaşanmaz. Örnek:
http://edn.embarcadero.com/article/26693
There's no place like 127.0.0.1
Cevapla