# Socket Programmierung



## marie20 (20. April 2005)

Hallo,
für ein Socket Programmier Projekt an der Uni, muss ich eine Datei von einem Server herunterladen. Dafür soll ein Client und Server mit C unter Linux geschrieben werden.

>Um was gehts:
Wenn die Datei sehr gross ist und die Übertragung unterbrochen wird, 
soll der bereits heruntergeladene Teil in einer .pa Datei gespeichert werden. Wenn später die Datei erneut angefordert wird, soll die .pa Datei fortgesetzt werden, ähnlich wie bei emule.

>Fragen:
1) Wie kann man Client feststellen wieviel er schon heruntergeladen hat, bzw wo soll der Download fortgesetzt werden? Mit Hilfe der Content-Lenght?
2) Hat jemand eine Idee wie ich das umsetzten könnte?

Da habe ich schon geschaut, aber nix passendes gefunden. Wenn jemand noch einen anderen interessanten Link für mich hat würde ich mich sehr bedanken ;-)
http://www.zotteljedi.de
http://pont.net/socket/
http://willemer.de/informatik/unix/unprsock.htm
http://www-user.tu-chemnitz.de/~roej/sockets.html
http://www.uvomatik.de/programmierung/sockdoc/index.html
http://www.ecst.csuchico.edu/~beej/guide/net/
 Programmieren von UNIX-Netzwerken, W. Richard Stevens

ciao, marie


----------



## thooomy (21. April 2005)

Öhm was willst du jetzt eigentlich wissen ?, also ne fertige lösung wird dir hier keiner rein schreiben 

Also als hinweis  - weil ich etwas ähnliches gerade tue - das Ding selber zu programmieren dauert ein bissl. Die Sockets sind aber relativ schnell kapiert - und je nachdem wie ausgereift das werden soll bist du damit in 1-5 Monaten fertig ....

Ansonsten kannst du dir ja mal angucken wie das Open-Source webserver so machen.
Letztenendes sollte es kein Problem sein, eine nach dem Download von Dateien diese hinterher zusammenzufügen zu einer grossen, also wirst du dich damit nicht soviel beschäftigen müssen, eher mit den ganzen Protokollgeschichten.
http://www.faqs.org/rfcs/rfc2068.html
ftp://ftp.isi.edu/in-notes/rfc2616.txt

die links die du da hast sind schonmal ziemlich gut als Grundlagen. Bessres hab ich auch nicht gefunden, und das selbe Buch liegt hier bei mir auch aufm Schreibtisch .
vielleicht das hier noch:
http://tangentsoft.net/wskfaq/


----------



## thooomy (22. April 2005)

Ach übrigens: um Deine Frage Nummer 1) zu beantworten:

Bei HTTP 1.1.  gibt es einen "Chunked-Data" Header Header der genau dazu gut is - Infos dazu findest du in den angegeben RFC oder hier:
http://www.jmarshall.com/easy/http/#http1.1c2


----------



## marie20 (27. April 2005)

Hi thooomy,

vielen lieben Dank! Die RFCs kannte ich zwar schon aber das mit dem Chunked-Data könnte mir evtl weiterhelfen. Klar das ich keine fertige Lösung bekomme, wollte ich ja auch gar nicht, sondern nur mal hören wer noch an so einem ähnliches Programm arbeitet. 

... weil ich etwas ähnliches gerade tue ... - wie ist deine programm aufgabe ?


bis bald..
lg,
marie


----------



## thooomy (27. April 2005)

hi marie, gern geschehen 

also ich bin dabei einen webserver zu programmieren (HTTP + CGI), und das soll meine Diplomarbeit werden. Allerdings soll der auf einem embedded System laufen, nich (nur) auf nem Windows-PC. Daher hab ich schon einige Tage mit Suchen nach Infos verbracht und hier im Forum angemeldet... bin eben auf die gleichen Quellen gestossen wie du...   

Ansonsten würde ich mich gerne auch weiter austauschen was die Fortschritte betrifft (bzw. wenn du andere, gute links gefunden hast die mich auch interessieren könnten oder du einen tipp brauchst)
Dazu kannst du mir hier z.B. auch ne persönliche mail (PN) schreiben. Solang ich an dem Projekt arbeite werd ich hier regelmäßig reingucken.


----------

