Examples Delphi

"
Delphi7 'de Fasnet kontrolleri yok 28 Kasım 2005 21:32
Değerli delphi kullanıcıları. Benim gene size bir sorum olacak.
Ben delphi7 kullanıyorum. Ama Fasnet kontrollerini bir türlü bulamadım.
Nasıl alabilirim. Lütfen yardım edin.
(İyi çalışamalar)
delphiibo
"
cevap:
ESKİ CEVABIMDAN ALINTIDIR:
"
DELPHI 6 daki NMHTTP1 DELPHI 7 de Hangi Compunent Bugün 14:00
Herkese Merhabalar
Bu sitteden çok şey öğrendim Emeği geçen herkesten Allah Razı olsun.
Buraya Yine bir soru sormak için geldim.Bilen bir arkadaşım varsa
rica edecem.Ben önceden Delphi6 ile çalışıyordum.Bir mesaj gönderme
programı vardı.Hatta o program burada da var.
Delphi 7 ye geçince çalışmaz oldu.Çünkü bazı Compunentler çalışmıyor
Ben şimdi Bu delpi 6 daki NMHTTP Compunenti Delphi7de Ne ? idhttp ye
bakıyorum.Orada get pos yok.
Bu delphi 7 de Nasıl değişiklik yapacam konusunda bir bilgisi olan varmı acaba.
Şimdiden teşekkürler.
Mert_
"
cevap:
alıntıdır: ( nmstrm hakkında genel )
"
Written by neoturk - 02.01.2004
1.Internet programcılığı ile uğraşıyor isek ( bu trojan veya her neyse fark etmez )
kesinlikle ve kesinlikle DOSYA TRANSFERİ olayının %100 sorunsuz olarak
çözülmesi gerekiyor. Çünkü bağlantı sağlanmasında bir problem yok,
ancak er ya da geç dosya transfer olayına ihtiyaç duyulacak!
Bunun için bu konunun bizzat çözümlenmesi ve kendi mantığımıza göre işleme
geçmesi gerekiyor.
2.Delphi olsun CBuilder olsun, bu programlama dillerinde dosya transfer
işini gören NMSTRM adlı komponent (paket) serisi var. Hemen hemen
tüm programcılar bu komponentleri kullanırlar.
( Çok önemli dip not: Okuduğum birçok delphi kitabında
(okumadığımı yok denecek kadar parmakla gösterebilirim) dosya transfer örneklerini
nedense hep nmstrm komponentleri üzerinde anlatırlar.
Oradaki örneklerde dosya transferleri çalışır. Oturur yazarsın ve her şeyin
çalıştığını görünce bir şeyler öğrendiğini sanırsın.. doğrudur..
ama Level2'ye geçtiğinde NMSTRM komponentlerinin yetersiz
olduğunu ben dahil deneyimli coderler er geç fark etmişlerdir…
Bu nedenle oturup adam gibi kodunu kendin yazmalısın..
( icq gibi, paltalk gibi.. )
3.Örnek trojanlar incelendiğinde nedense çoğunda dosya transfer olayının
nasıl yapıldığı gösterilmemiştir. Bunu gösteren tek örnek trojan kodu LATINUS
trojanıdır. ( tek tük bazı trojanlarda da mevcut ancak tarihi eser
kalıntılarıyla dolu ve çalışmayan kod parçacıklarıdır )
4.Latinus trojanındaki dosya transfer işlemi Multi-File yöntemini
destekleyen şekilde transfere müsaade ediyor, ama kullanımı pek etkin değil..
denedim kullandım çalıştırdım ama etkin değil.. hangi dosyanın ne zaman
vardığı, nereye gittiği Allah kerim.. gidiyor dosyalar ve direkt temp
klasörüne kopyası çıkartılıyor.. kodu yazan adam biraz kulağını
SAĞ'dan göstermiş.. welhasıl pek verimli bir kod değil…
5.Dosya göndermek gerçekten önemli bir konu, nedenine gelince,
coderlerin %99'u ( abartmıyorum ) nmstrm komponentini kullanırlar
ve kullanacaklardır. Oturup sıfırdan kodunu yazması inan kasıyor…
işin komik yanı da network içinden dışarıya bağlantı yapıldığında
nmstrm componentleri dosya transferlerini yapamıyor..
bunu ya bilerek es geçtiler ya da unuttular..
çünkü bizim daha önceki yazdığımız tüm versiyonlarda nmstrm komponentlerini
kullanmıştım. O yüzden network-dialup arasındaki dosya transferleri
olmuyordu. ( network içinden evdeki pcye bağlantı örneğinde olduğu gibi )
( ama msn veya icq bunu gayet güzel yapıyor değil mi ? )
6.Çok ince bir nuans daha var, tcp/ip ( socketler ) üzerinden dosya
göndereceğimiz zaman 2 seçeneğimiz var. Block ve None-Block seçimi… block
işlemli socketlerde bir sonraki gelen veri paketi cache socket belleğinde
tutulur. Aktif olan veri dosyaya yazıldıktan sonra cache socket belleğinden
alır ve böylece işlemler devam eder.. ( winsock topolojisi ). none-block seçimi
yaparsak cache bellekte veri tutulmaz. Gelen veri direkt işlenir. İşlenen bir
veri sırasında şayet ikinci bir veri paketi gelirse bu paket boşa gide çünkü
cache bellekte tutulmaz… burada şöyle bir sorun var, winsock cache bellek
dolar elbet… bu durumda da aynen 3ün 1ini alırız… bu sorunun düzeltilmesi
konusundaki bazı profesyonel yaklaşımları birkaç programda görmüştüm..
bunlardan en etkini de bildiğimiz icq ve msn dosya transferleri…
7.Benim amacım cache belleğin dolmasına müsaade etmeden ping-pong
( paketi aldım-sonrakini gönder) mantığına göre veri paketlerini sırayla
göndermek. ( icqdaki file send speed olayı, 1-5 arası hız seçimi vardı
hatırlarsan.. olayın özü burada yani… )
......
"
delphi7 de nmstrm komponent serisi yok...
bir şekilde kodlama ile bunu yapmak zorundasınız,
veya diğer bir seçenek, indy nesnelerini kullanmanızı tavsiye ediyorum...
kolay gelsin.....
saygılarımla_
neoturk [ xxnt03@lycos.co.uk ]