Mein nächstes Problem, im Client gebe ich im Feld die Datei die geschickt werden soll ein und in der InputBox die Datei wo es reingeschreiben werden soll, der erste Feld ist die IP um sich mit dem Server zu verbinden, der einfach @IPAdress1 benutzt. Die neugeschriebene Datei wird allerdings größer, um ca. 5kb, ich finde den Fehler nicht,
danke im vorraus,
mfg TheShadowAE
Datei senden (mit anderen Daten)
-
- [ offen ]
-
TheShadowAE -
1. Februar 2011 um 21:39 -
Geschlossen -
Erledigt
-
-
Hast du schon mal getestet eine Textdatei mit ein oder zwei Sätzen als Inhalt zu schicken? Kann man die Dateien denn noch öffnen?
-
Textdokumente über mit 50b gehen, 30000 aber nicht, da kommt ganz viel von sowas irgendwo zwischendrin rein: 6161616161616161616161610D0A6161616161616161616161616161616161610D0A6161616161616161616161616
Das meiste sind 6 und 1PS: Wenn die Dateien binär sind (png usw.) sind sie danach nicht mehr brauchbar
-
Ohne mir den Source anzuschauen, ahne ich, wo der Fehler liegt. Ich hab vor Ewigkeiten sowas mal programmiert, und mich auch drei Nächte damit abgerackert, die Binärdaten richtig zusammenzusetzen.
[autoit]
[/autoit]
Func sendFile($file)
$filedata = StringToBinary(FileRead($file))
$i = 0
$step = 1023 ; 1023 ; (1024 - 1 = 1023 * 2 = 2046 + 0x = 2048)
While 1
$data = BinaryMid($filedata, $i*$step+1, $step)
$i += 1
If ($data = "") Then
ExitLoop
EndIf
TCPSend($tcp, $data)
WEnd
TCPSend($tcp, $data)
EndFuncIst die Datei vollständig übertragen, wir sie mit FileWrite($line[1], Binary($file_data)) in einer Datei geschrieben.
-
Ich muss mehrere male FileRead benutzen, meine Dateien sind zu groß, trotzdem danke, vielleicht finde ich damit den Fehler und melde mich dann wieder bzw. setze den Status auf gelöst
-
Sonst setz doch die empfangenen Zeichen höher? Oder gibt es da ein Problem?
-
So viele zeichen kann ich nicht setzen, das soll teilweise 250MB sein, da kann ich es zwar höher setzen, aber das bringt mir dann auch nicht viel