Arkadaşlar Merhabalar,
Bir programım var Belli aralıklarda bir dosya oluşturarak bunu TIdFtp üzerinden Server'a gönderiyor ve bana bir dosya linki oluşturuyor.
Program aslında çalışıyor ancak stabil değil.Sebebi ise program dosyayı göndermek için Ftp'ye bağlanıyor Daha sonra bir ChangeDir ile başka bir klasör altına giriyor ve dosyayı buraya gönderiyor.
Sorun şu ki dosya boyuları maximum 100 kb olmasına rağmen sanırım uzun süre bağlantı açık kaldığından timeout'a düşüp connection'u kapatıyor.
mesela 5 dakikada bir dosya oluştuğunu düşünelim 1. dosyayı gönderiyor, 2. dosyayı da gönderiyor ama 3. dosyayı gönderirken hata veriyor ve gönderemiyor, daha sonra 4. ve 5. dosya gidiyor ama 6. ve 7. dosyada yine patlıyor. ben her seferinde disconnect edip tekrar connect ediyorum halbuki.Verdiği hata aşağıda time out süresi yüzünden bağlantıyı kapattım diyor ancak bu 120 saniyelik süreyi ben değiştiriyorum aslında ama verdiği hatada halâ 120 yazıyor.yukarıda verdiğim dosya sıraları değişebiliyor mesela bazen ilk dosyayı göndermiyor bazen 3. bazen de 4. yü.Şimdi çalışma mantığı böyle olan bir program için bana nasıl bir yol önerirsiniz.?
Yardımınıza ihtiyacım var.
Teşekkürler...
Timeout (120 seconds): closing control connection.
Indy - TIdFtp Dosya Gönderme Hatası
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Indy - TIdFtp Dosya Gönderme Hatası
Her defasinda disconnect yapip tekrar connect yapiyorsan ve connect success oluyorsa timeout vermemesi lazim.destiny24 yazdı: Sorun şu ki dosya boyuları maximum 100 kb olmasına rağmen sanırım uzun süre bağlantı açık kaldığından timeout'a düşüp connection'u kapatıyor.
mesela 5 dakikada bir dosya oluştuğunu düşünelim 1. dosyayı gönderiyor, 2. dosyayı da gönderiyor ama 3. dosyayı gönderirken hata veriyor ve gönderemiyor, daha sonra 4. ve 5. dosya gidiyor ama 6. ve 7. dosyada yine patlıyor. ben her seferinde disconnect edip tekrar connect ediyorum halbuki.
eger ki, sürekli bagli kaliyorsan, DummyTransfer yapman gerekir. ya server sana dummy gönderecek yada sen server'a. KeepAlive mekanizmasi diyorlardi yanilmiyorsam.
kıdemsiz üye
Re: Indy - TIdFtp Dosya Gönderme Hatası
peki başka bir component ile yapılabilir mi bu yada program Ftp üzerinden çalışmaktan başka bir yol ile çalışabilir mi ?
Re: Indy - TIdFtp Dosya Gönderme Hatası
Ben birkaç projede, ethernetten ve comport veri alışverişinde SYNAPSE kullandım. Tavsiye ederim.destiny24 yazdı:peki başka bir component ile yapılabilir mi bu yada program Ftp üzerinden çalışmaktan başka bir yol ile çalışabilir mi ?
Synapse'de FTP client oluşturup dosya göndermek çok kolay:
Kod: Tümünü seç
TFTPClient := TTFTPSend.Create;
try
TFTPClient.TargetHost := "Hedef Hostu seçin";
TFTPClient.TargetPort := "Portu seçin";
TFTPClient.Data.LoadFromFile(OpenDialog.FileName);
if TFTPClient.SendFile(ExtractFileName(OpenDialog.FileName)) then
// dosya transfer edildi
else
// dosya transferinde hata var. Hata için; TFTPClient.ErrorString
finally
TFTPClient.Free;
end;
There's no place like 127.0.0.1
Re: Indy - TIdFtp Dosya Gönderme Hatası
biraz araştırdım ancak pek bir şey bulamadım.
şimdi Synapse ile socket olarak server'da bir port açıp yada açık bir port kullanıp veriyi karşıya gönderiyoruz öylemi.?
aslında bu paketlerinde yönlendirilmesi için(klasör altına falan) server'da bir programa ihtiyaç var mı ?
şimdi Synapse ile socket olarak server'da bir port açıp yada açık bir port kullanıp veriyi karşıya gönderiyoruz öylemi.?
aslında bu paketlerinde yönlendirilmesi için(klasör altına falan) server'da bir programa ihtiyaç var mı ?
Re: Indy - TIdFtp Dosya Gönderme Hatası
Synapse'nin Burada FTP demosu var.
Server kısmında nerelere erişebileceğinizi, yazma/okuma vs. nasıl yetkilerinizin olacağını karar veren FTP serverdır. Sizin kullanıcı ve şifrenize göre yönlendirme yapar.
Server kısmında nerelere erişebileceğinizi, yazma/okuma vs. nasıl yetkilerinizin olacağını karar veren FTP serverdır. Sizin kullanıcı ve şifrenize göre yönlendirme yapar.
There's no place like 127.0.0.1