PDA

Tam Sürümünü Görmek İçin : Thread'ler yardımı ile download işlemi


gökçen
01/12/2005, 00:27
İyi günler arkadaşlar;

Bir program içersinde birden fazla thread yaratarak, verilen bir url'den bir dosya indirmek istiyorum. Ayrıca yaratılan her bir threadin esit büyüklükte veri indirmesini gerekiyor. Bunun için bir soket yarattım ve server ile baglantı saglatım. Thread'lere esit bir şekilde veriyi paylaştırabilmek için dosyanın boyutunu indirmeden önce nasıl ögrenebilirim?
Bir thread'in belirli aralıktaki byte'ı indirmesini nasıl saglayabilirim?
Bana bu konularda yardımcı olur veya bir kaynak belirtirseniz sevinirim. Şimdiden teşekkürler.


Volkan Uzun
02/12/2005, 02:48
her thread ayni urldeki dosyayi mi inderecek ?
tam olarak ne yapmak istiyorsun ?

gökçen
02/12/2005, 10:24
Mesela üç tane thread'im var. Bunlarım her biri aynı url'deki (http://courses.cs.deu.edu.tr/cse405/lang/LinuxThreads/pthread_join.htm)
dosyayı indirecekler. Fakat her birinin indirdiği dosya boyutu birbirine esit olacak. Her thread'in esit büyüklükte veri indirmesini nasıl saglayabirilirim. Thread'ler arasındaki scheduling'de hangi thread fonksiyonlarını kullanmam gerekiyor?

atg
02/12/2005, 11:51
Bir thread'in belirli aralıktaki byte'ı indirmesini nasıl saglayabilirim


Sorduğun soru programlama dilleriyle ilgili bir mesele değil; http protokolüyle ilgili bir mesele, RFC 2616 (http://www.faqs.org/rfcs/rfc2616.html) da konu detaylarıyla anlatılmış(bölüm 14.35), ama ben kısaca sana şöyle diyeyim, dosyayı indirirken gönderdiğin başlıklara Range başlığınıda ekle, örneğin sıfırdan beşyüzüncü bayt'a kadar almak için, şöyle birşey gönderebilirsin;

Range : 0-499

(umarım başlıklarda çalışıyorsundur)