Adventskalender Problem

mister_tt
Kernelcompilierer
Kernelcompilierer
Beiträge: 502
Registriert: 29. Sep 2008 15:54

Re: Adventskalender Problem

Beitrag von mister_tt » 21. Dez 2010 21:10

fetzer hat geschrieben:Irgendwie nimmt das echt den Spaß ausm Projekt.
Welcher Spaß? Irgendwie ist es eh spaßbefreit, wenn man die Aufgabe ohne vorherige Erfahrungen (außer die Veranstaltungen der ersten 5 Semester Bachelor Informatik) nicht lösen kann, weil man keine Ahnung hat, was zu tun ist... :(

fetzer
Kernelcompilierer
Kernelcompilierer
Beiträge: 522
Registriert: 1. Okt 2008 17:18

Re: Adventskalender Problem

Beitrag von fetzer » 21. Dez 2010 21:25

mister_tt hat geschrieben:
fetzer hat geschrieben:Irgendwie nimmt das echt den Spaß ausm Projekt.
Welcher Spaß? Irgendwie ist es eh spaßbefreit, wenn man die Aufgabe ohne vorherige Erfahrungen (außer die Veranstaltungen der ersten 5 Semester Bachelor Informatik) nicht lösen kann, weil man keine Ahnung hat, was zu tun ist... :(
Wo liegt denn das Problem, wenn ich fragen darf?

Benutzeravatar
aiQon
Windoof-User
Windoof-User
Beiträge: 32
Registriert: 9. Dez 2010 18:23
Wohnort: Darmstadt

Re: Adventskalender Problem

Beitrag von aiQon » 21. Dez 2010 22:21

mister_tt hat geschrieben:
fetzer hat geschrieben:Irgendwie nimmt das echt den Spaß ausm Projekt.
Welcher Spaß? Irgendwie ist es eh spaßbefreit, wenn man die Aufgabe ohne vorherige Erfahrungen (außer die Veranstaltungen der ersten 5 Semester Bachelor Informatik) nicht lösen kann, weil man keine Ahnung hat, was zu tun ist... :(
ich finds deutlichunterhaltsamer als compiler zu bauen :D

im ernst, ging bis auf ein paar stolperfallen recht zackig
weeks of coding can save hours of planing

Benutzeravatar
aiQon
Windoof-User
Windoof-User
Beiträge: 32
Registriert: 9. Dez 2010 18:23
Wohnort: Darmstadt

Re: Adventskalender Problem

Beitrag von aiQon » 21. Dez 2010 22:22

fetzer hat geschrieben:
BadTaste hat geschrieben:Hi,
also ich konnte gerade die Datei mehrfach problemlos herunterladen.
Momentan scheint alles problemlos zu laufen.
Kann ich derzeit nicht bestätigen. Es wird einfach keine Antwortverbindung aufgebaut, obwohl bereits mehrere korrekte (uns fehlt nur noch ein einziger Chunk) Pakete gesendet und empfangen wurden.
bestand die datei nicht aus nur einem chunk?
weeks of coding can save hours of planing

fetzer
Kernelcompilierer
Kernelcompilierer
Beiträge: 522
Registriert: 1. Okt 2008 17:18

Re: Adventskalender Problem

Beitrag von fetzer » 21. Dez 2010 22:34

aiQon hat geschrieben:bestand die datei nicht aus nur einem chunk?
Dann müsste die Dateigröße ja kleiner sein, als die Chunkgröße ;)

Benutzeravatar
olg
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 297
Registriert: 1. Okt 2008 19:24

Re: Adventskalender Problem

Beitrag von olg » 21. Dez 2010 22:42

Ich bastele derzeit immernoch am Chunk-zusammensetzen und kriege mittlerweile wieder (nach mehreren korrekten Antworten - IP hat sich auch nicht geändert) auch keine Antwort :/
"To Perl, or not to Perl, that is the kvetching." ~Larry Wall

Benutzeravatar
aiQon
Windoof-User
Windoof-User
Beiträge: 32
Registriert: 9. Dez 2010 18:23
Wohnort: Darmstadt

Re: Adventskalender Problem

Beitrag von aiQon » 21. Dez 2010 23:51

fetzer hat geschrieben:
aiQon hat geschrieben:bestand die datei nicht aus nur einem chunk?
Dann müsste die Dateigröße ja kleiner sein, als die Chunkgröße ;)
sind 2 chunks :O
weeks of coding can save hours of planing

mister_tt
Kernelcompilierer
Kernelcompilierer
Beiträge: 502
Registriert: 29. Sep 2008 15:54

Re: Adventskalender Problem

Beitrag von mister_tt » 21. Dez 2010 23:55

fetzer hat geschrieben:Wo liegt denn das Problem, wenn ich fragen darf?
Ich weiß nicht mal ansatzweise, wie man die Datei vom Server holen soll... Aber vielleicht habe ich auch einfach ein paar Folien übersehen, die was dazu aussagen, oder bin einfach zu doof, oder so... :roll:

Benutzeravatar
Maeher
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 282
Registriert: 14. Okt 2007 23:02
Kontaktdaten:

Re: Adventskalender Problem

Beitrag von Maeher » 22. Dez 2010 03:33

Du sollst FS_GET Requests, wie sie in den Folien beschrieben sind, an den Server schicken, und dir aus den empfangenen Daten die Datei wieder zusammenbasteln.

Christoph B
Computerversteher
Computerversteher
Beiträge: 370
Registriert: 15. Okt 2006 18:28
Wohnort: Wiesbaden
Kontaktdaten:

Re: Adventskalender Problem

Beitrag von Christoph B » 22. Dez 2010 12:47

- FS_GET Anfrage an Server mit Payload = identifier der Datei (SHA1(filename) modulo 2^n)
- Server Antwortet mit einer Nachricht,
  • die im Header die selbe UUID (MSB sowie LSB) enthält, sowie einen um 1 erhöhten Counter
  • den FileDescriptor als Payload enthält
- aus dem FileDescriptor musst du nun im wesentlichen die Anzahl der Chunks bestimmen, damit du für jeden Chunk den jeweiligen Identifier mit (SHA1(filename:ChunkNr) modulo 2^n) bestimmen kannst.
Wenn du nun wie oben eine neue FS_GET Anfrage an den Server schickt, aber mit dem Chunk Identifier als Payload, antwortet der Server mit einer Nachricht
  • die im Header die selbe UUID (MSB sowie LSB) enthält, sowie einen um 1 erhöhten Counter
  • den Chunk als Payload enthält
=> Die Chunks musst du nun wie schon im Post oben erwähnt zu einer Datei zusammenbauen, d.h. die Chunks in der richtigen Reihenfolge in eine Datei schreiben, und der Datei den ggb. filename geben.

Falls du das ganze in Java implementierst:
java.net.ServerSocket,java.net.Socket, java.io.InputStream /OutputStream zum Senden & Empfangen von Nachrichten
java.io.FileOutputStream zum Datei anlegen und byte daten reinschreiben
java.nio.ByteBuffer => geniale Sache um aus den rohen Bytedaten (die du dem Server schicken musst / die du vom Server empfängst) deine ints, longs usw. zu extrahieren - und umgekehrt deine ints, longs usw. in rohe Bytedaten zu konvertieren

spyro.makedonski
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 102
Registriert: 18. Apr 2010 13:45

Re: Adventskalender Problem

Beitrag von spyro.makedonski » 22. Dez 2010 19:16

bei mir geht es nicht ... also ich schicke eine korrekte byte[] zu dem Server(es ist einfach zu überprüfen... das Payload ist 0,0,+ die letze 6 Bytes von dem Hash. am Anfang sind 2 Bytes 0 um 8 bytes zu bekommen(mit n=48)) aber beim read() bekomme ich -1 nach ~2 min Warten, und das InputStream.available() method liefert 0... ich habe port Forward gemacht und trotzdem bekomme ich nichts.


16 bytes random Nummer
8 byte counter (0,0,0,0,0,0,0,0)
1 byte type (12)
4 byte ip (z.b. 120.121.122.12 wuerde als {120, 121, 122, 12} byte[] representiert)
4 byte port (z.b. 0, 0, 43, 65)
4 byte payloadsize (0,0,0,8)
8 byte identifier (siehe oben)

insgesamt byte[45]

Habe ich etwas übergesehen?

Benutzeravatar
BadTaste
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 181
Registriert: 18. Apr 2005 16:40
Wohnort: Darmstadt
Kontaktdaten:

Re: Adventskalender Problem

Beitrag von BadTaste » 22. Dez 2010 19:26

Stimmt die IP im header mit deiner externen IP überein?
Wir erhalten noch immer Nachrichten, bei denen dies nicht der Fall ist.
Wie in der Übung besprochen, antwortet der Server auf solche Anfragen nicht.

spyro.makedonski
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 102
Registriert: 18. Apr 2010 13:45

Re: Adventskalender Problem

Beitrag von spyro.makedonski » 22. Dez 2010 19:29

ja ...die IP in dem Header ist meine externe IP...

spyro.makedonski
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 102
Registriert: 18. Apr 2010 13:45

Re: Adventskalender Problem

Beitrag von spyro.makedonski » 22. Dez 2010 19:33

also meine IP ist 92.193.5.222 ... vielleicht kannst du im log schauen

Benutzeravatar
BadTaste
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 181
Registriert: 18. Apr 2005 16:40
Wohnort: Darmstadt
Kontaktdaten:

Re: Adventskalender Problem

Beitrag von BadTaste » 22. Dez 2010 19:40

dann steht in eurem header wohl 92.193.5.22

Antworten

Zurück zu „Archiv“