Tartışma: C# ortamında knight online log dosyalarının okunması

  • Konbuyu başlatan Konbuyu başlatan saintx
  • Başlangıç tarihi Başlangıç tarihi
Kayıtlı Üye
Katılım
12 Mart 2012
Mesajlar
248
Merhaba arkadaşlar,



C# ortamı bildiğiniz üzere .NET kütüphanesi üzerine kurulu bir programlama dili ve makina diline (assembly) çevrilirken zaman kayıpları, kasmalar, çökmeler oluyor.C#.NET dilinin bize sunduğu iki nimetten olan System.Threading ve System.Timer kütüphanelerinden hangisini kullanırsak ve nasıl bir yol izlersek bu kasma, çökme olaylarına engel olabiliriz.
 
Kayıtlı Üye
Katılım
12 Mart 2012
Mesajlar
248
özel ortamdan ziyade tartışma konusu içerisinde sorularımızı yöneltip cevaplar alsak daha mutlu oluruz. :)



---------- Yorum eklendi 10:03'da ---------- Önceki yorum 09:43'da ----------



Kod:
[Mustify] - PENTAGRAM:

*timer ve döngü durumlarında thread kullanırsan uygulama donmaz, ve ayrıca okunan veri başına log dosyasını sıfırlaman lazım

*mesela

*czde adam öldü diyelim

*program analiz ettikten sonra log dosyasını sıfırlayacak gerekli işlemi yapacak

*mantık bu

*********` saintx - my life is so crayz .! ´********:

*şöyle düşündüm ben,

*belirli bir aralık vereceğiz

*ini dosyasından

*program bu aralıklarda

*belirli zoneye ait ölmeleri kayıt edecek ve kendi log dosyasına

*yazacak biz oradan okuyacağız.

*dosya boyutunu kontrol ettirerek dosya değiştimi değişmedi mi kontrol edebiliriz.

*yanlış mı düşüncem

[Mustify] - PENTAGRAM:

*bak şimdi 

*********` saintx - my life is so crayz .! ´********  *  oto-ileti: @..

[Mustify] - PENTAGRAM:

*atıyorum 500 kişilik bi sw adminisin

*o dead log dosyası öyle bir şişecek ki 

*program her dosya değişiminde sıfırdan tüm satırları okuyacak eğer sıfırlatmazsan

*dediğim gibi, orjinal log dosyasının kesinlikle sıfırlanması lazım her okumadan sonra, yoksa program kilitlenir kalır bir süre sonra

[Mustify] - PENTAGRAM:

*mantık şu, program açılışta ini içerisindeki path'tan dead logu okuyup senin yazdırmanı istediğin yeni loga aktaracak ve eski logu sıfırlayıp kaydedecek

*********` saintx - my life is so crayz .! ´********  *  oto-ileti: @..

[Mustify] - PENTAGRAM:

*ve daha sonraki her dosya değişiminde de aynı şekilde, değeri okuyup senin yeni loguna ekleyecek ve sıfırlayıp kaydedecek

*********` saintx - my life is so crayz .! ´********:

*böylece tarama süresi kısalıcak ve ram'de yer kaplamayacak :)

[Mustify] - PENTAGRAM:

*e yani doğal olarak :)
 
Administrator
Yönetici
Yönetici
Katılım
7 Mart 2012
Mesajlar
12,586
programda logu ac, logun boyutunu kayıt et islemi yaptır kapattır

log boyutu degistiginde tekrar actır, yeni boyutu kayıt et, islemi yaptır kapattır (dosya iceriginide temizle)



ancak bu sekilde bi açıdan kasmayı önleyebilirsin dediydim tekrar diyorum :D
 
Kayıtlı Üye
Katılım
12 Mart 2012
Mesajlar
248
örnek yapmaya çalışacağım bu akşam inşALLAH başarılı oluruz :)

bu işlemleri yaparken thread mı yoksa timer mi kullanmalıyım.
 
1

111Mutay

Guest
Threaded timer kullansan nasıl olur ? :D



(System.Threading.Timer) Thread her zaman daha sağlıklıdır :)
 
Kayıtlı Üye
Katılım
19 Mart 2012
Mesajlar
155
Bende log okumayı çok denedim ama, genelde "dosya sistem tarafından kullanımda" ibaresine takıldım. Okumayı başardığım kısımdada, program kasıyordu. En başarılı olduğum kısım bir kaç saniye aralıklarla satır satır okumak, yani ilk aşamada 100 satır okuyosa 2. aşamada 101. satırdan okumaya başlıyordu, o bile kasma yaptı.
 
Üst Alt
Reklam
Reklam