datei übertragen?
-
Hi @all
Ich habe mir mit Winsock ein kleines Chatprogramm geschrieben.
Man kann damit einfach Text von Server zu Client und umgekehrt schicken.
Jetzt stellen sich mir 2 Fragen:-
Ist es möglich sich mit einem anderen PC zu verbinden ohne dessen IP zu kennen?
-
Wie kann ich damit Dateien übertragen?
Ich wäre froh, wenn ich sowohl die Lösung für MFC wie auch für WinAPI erhalten könnte, da ich mich zwischen den beiden nicht so recht entscheiden kann...
thx
Lord_Senna
-
-
Lord_Senna schrieb:
- Ist es möglich sich mit einem anderen PC zu verbinden ohne dessen IP zu kennen?
Wenn Du es schaffst mich anzurufen, dann wird es auch mit IP gehen.
Lord_Senna schrieb:
- Wie kann ich damit Dateien übertragen?
Vielleicht über Deine Socket-Verbdinugn mittels send/recv !?
Lord_Senna schrieb:
Ich wäre froh, wenn ich sowohl die Lösung für MFC wie auch für WinAPI erhalten könnte, da ich mich zwischen den beiden nicht so recht entscheiden kann...
Es gibt vermutlich fertige Klasse, die sowas machen (i.d.R. bassieren die auf FTP) oder Du kannst es im Projekte-Forum posten, vielleicht findet sich jemand, der es für Dich macht.
-
Lord_Senna schrieb:
...
- Ist es möglich sich mit einem anderen PC zu verbinden ohne dessen IP zu kennen?
...
z.B. über den Hostnamen
- Ist es möglich sich mit einem anderen PC zu verbinden ohne dessen IP zu kennen?
-
@Jochen Kalmbach:
Zu 1): Ich verstehe die Antwort nicht so recht, sorry...
Zu 2): Wie bekomme ich ganze Dateien mit send/recv hinüber? Strings sind kein Problem. Soll ich etwa die ganze Datei als riesigen String senden? Kann man dann einfach die Datei wie eine Textdatei einlesen und dann verschicken?
@Morides: Danke...
sorry, für die noob-fragen
mfg
Lord_Senna
-
Lord_Senna schrieb:
Zu 2): Wie bekomme ich ganze Dateien mit send/recv hinüber? Strings sind kein Problem. Soll ich etwa die ganze Datei als riesigen String senden? Kann man dann einfach die Datei wie eine Textdatei einlesen und dann verschicken?
mit send kannst Du keine Strings versenden, sondern nur bytes...
Und Du rufst halt send so lange auf, bis Du die ganze Datei übertragen hast.
-
Lord_Senna schrieb:
Zu 2): Wie bekomme ich ganze Dateien mit send/recv hinüber? Strings sind kein Problem. Soll ich etwa die ganze Datei als riesigen String senden? Kann man dann einfach die Datei wie eine Textdatei einlesen und dann verschicken?
Du kannst die Datei auch stückchenweise senden.
Im Prinzip sendest du die Daten genau so wie bei einem String.
Wenn es sich um eine Textdatei handelt, kannst du diese mittels CStdioFile Zeilenweise einlesen, ansonsten solltest du CFile nutzen.
-
und dann kann ich die empfangenen daten einfach wieder ganz normal in eine datei leiten (nur mit der endung, doc/exe)?
und das fnktioniert dann?ich hätte mir das irgendwie schwerer vorgestellt...
danke
Lord_Senna
-
Lord_Senna schrieb:
und dann kann ich die empfangenen daten einfach wieder ganz normal in eine datei leiten (nur mit der endung, doc/exe)?
und das fnktioniert dann?Genau. Am anderen Ende schreibst du das ganze wieder in ein CFile oder CStdioFile Objekt...