Seite 1 von 1

chunks auf platte wegschreiben in python

Verfasst: 23. Dez 2010 21:44
von aiQon
hey,
ich versuche gerade chunks, die ich bekomme sofort mit dem passenden offset auf platte wegzuschreiben. Das klappt kleider nur sehr bedingt. Es sieht so aus, als ob die chunks manchmal geschrieben werden und manchmal nicht und manchmal nur teilweise !

hier ein ausschnitt aus nem hexdump, in dem ein chunk fehlt (128 bytes). seltsamerweise steht da aber ein "50c3" zu viel :<. das file hab ich vorher mit nullen initialisiert.
0000580: 4f17 794f 04ed 6f9e 47e1 ce91 c770 9deb O.yO..o.G....p..
0000590: a7dd 1f77 6006 48d5 4b3a 1ff4 0e7f 88c8 ...w`.H.K:......
00005a0: d69e d074 4739 a546 0305 b942 3d61 7dbd ...tG9.F...B=a}.
00005b0: dd6d b596 f4b6 cb6d 8e95 3b92 c91c bbda .m.....m..;.....
00005c0: 418e 30ca 303e 73ab f516 882b 7a2a 9248 A.0.0>s....+z*.H
00005d0: 6cd0 54d6 b471 ca22 da91 6252 002e 71c6 l.T..q."..bR..q.
00005e0: 40e7 e751 67b8 435b 15ea 5a6c d33b fec8 @..Qg.C[..Zl.;..
00005f0: 8de2 949c 11e1 860f fefe 7816 ba42 eb4c ..........x..B.L
0000600: 0000 0000 0000 50c3 0000 0000 0000 0000 ......P.........
0000610: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000620: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000630: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000640: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000650: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000660: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000670: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000680: cb29 8c7a b08b e93c 85c6 38fe 675a 9d5f .).z...<..8.gZ._


das ding ist nun, es gibt so 2-3 peers, die das hinbekommen und andere bekommens bei mir ncht hin. laut log bekommen sie aber alle dieselben chunks, ich vermute ieine eigenheit beim umgang mit dateien und dem schreiben auf diese. kann mir jemand vllt einen hinweis geben, was ich nicht beachtet habe?

Ich schreibe übrigens so:

FILE = open(file_destination, 'r+b')
FILE.seek(position)
FILE.write(paket.get_hex_payload())
FILE.close()

das mit dem offset scheint so auch zu stimmen, weil ich bei einigen durchläufen auch richtige ergebnisse erhalte, jedoch nicht bei allen. ich bin auf ner x86 linux kiste und python 2.6.

Cheers, stas

Re: chunks auf platte wegschreiben in python

Verfasst: 24. Dez 2010 00:04
von aiQon
ok, hab das problem zwar noch nicht einkreisen können, aber das wegschreiben auf platte ist es schonmal nicht, iwas läuft noch beim übertrage schief.