Dateien über Sockets übertragen
-
Wie kann ich am besten Dateien über Sockets verschicken?
Ich habe versucht die Suchfunktion hier zu benutzen, aber sie läd und läd und läd und zeigt nichts. (habe nach *datenübertragung* *sockets* und *clientsocket* versucht zu suchen)
-
Textdateien, Binärdateien, HTTP oder was?
Ein paar Details solltest du uns schon verraten.
-
Tut mir Leid, ich wusste nicht dass das ein Unterschied macht
Es geht hauptsächlich um Binärdateien. Bei Textdateien ist es wahrscheinlich so, dass die Zeilen nacheinander als Strings verschickt werden?!
-
...und .jpg/.bmp Dateien (Sorry, weiß ich wozu das gehört)
-
HTTP oder eigenes Protokoll oder was?
Bei HTTP ein simples send() bis zum Dateiende.
Binärdateien war nur 'ne Fangfrage:
.bmp/.jpg würde ich mal als Binärdateien einstufen.
-
Die Suchfunktion läd versimilis so lange, weil das schon sehr viele gefragt haben
In der FaQ steht etwas zur Protokollentwicklung.
Ansonsten guck in der BcB-Hilfe beim ClientSocket nach 'SendBuf'.
(Per Stream deine Datei in einen Buffer ;))
-
Die TClientSocket-/TServerSocket-Komponenten kannst du hinsichtlich der Dateiübertragung mehr oder weniger vergessen. Ich rate dir, die Indy-Komponenten anzusehen; mit TIdTCPClient und TIdTCPServer ist synchrone Kommunikation völlig problemlos.