datei senden
-
Hallo,
Ich muß eine Binärdatei übers Netzwerk verschicken und hab keine wirkliche Ahnung, wie ich das Problem angehen soll. Ich bin kein C Profi und deshalb auf Eure Hilfe angewiesen. Kennt sich damit jemand von Euch mit sowas aus und kann mir mal einen angedeuteten Lösungsvorschlag vermitteln? (Und worin unterscheidet sich eigentlich der Dateitransfer von zb Binär und Text?)
Also mein Server soll nichts weiter könnnen, als auf eine Verbindung meines Clients zu warten und sobald dieser Client sich verbindet soll der Server eine voreingestellte Binärdatei dem Client schicken.
Wäre gut, wenn mir jemand mal helfen könnte.
-
so geht´s im ansatz, jedoch musst du noch ein bisschen selber hand anlegen und
die bugs beseitigen
-
Also den Code hatte ich schon gefunden, nur wollte ich mir nicht anmaßen, jemanden zu verbessern, der eh schon besser ist als ich. Nun aber trotzdem versucht...
Also ich hab in beiden Programmen (habs geteilt) #define BUFFER_SIZE 1024 eigefügt und noch die Portnummer fest angegeben (#define PORT 5000) Ich hab echt keine Ahnung, was ich da noch ändern soll. Für mich sieht das alles ganz gut aus!
Also wenn ich ne Binärdatei schicken will sag der Clent:dellap:/home/gamma# ./cli
f1le, u like t0 s3nd/tmp/1.exe
ip-addr of t4rget syst3m127.0.0.1
connect...
now send the file...
0 M
1 Z
2
3
4
5
6
7
8
9
10
11send() error
--------------------------
und bei ner Textdatei
dellap:/home/gamma# ./cli
f1le, u like t0 s3nd/tmp/2.txt
ip-addr of t4rget syst3m127.0.0.1
connect...
---------------
bleibt dann so stehen.
und nun?
-
Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hallo,
der Code produziert alle 1024-Zeichen ein memory leak. Schau dir die send-Funktion
mal ganz genau an.Noch ein Tipp: ein einzelner send-Call muss nicht zwingend dazu fuehren, dass
der gesamte Puffer gesendet wird, genaus wie ein einzelner read-Call nicht dazu
fuehren muss, dass alle Daten gelesen werden (z. B. jene, welche noch ankommen
werden).mfg
v R
-
hab die lücke mal behoben. aber es tut sich ein neues Problem auf!