Entwickler-Ecke
Internet / Netzwerk - Mit IdHTTP eine datei im Netzwerk verchicken?
pigfacejoe - So 22.04.07 15:57
Titel: Mit IdHTTP eine datei im Netzwerk verchicken?
Hallo zusammen,
Mit IdHTTP kann man ja Dateien von Servern runterladen, kann ich dann eigentlich auch mit der lokalen IP Adresse von einem PC in meinem Netzwerk eine datei von PC1 auf meinen PC "downloaden", also auch mit IdHTTP? Falls ja, könnte mir vlt jem. erklären wie das geht?
Schönen Gruss,
PigfaceJoe
jakobwenzel - So 22.04.07 16:01
Dafür muss dann auf dem anneren lokalen PC ein HTTP-Server laufen.
pigfacejoe - So 22.04.07 16:05
danke für die schnelle Antwort, aber ich kann doch einfach schreiben idhttp1.get(
http://blabla/bla.exe) wieso kann ich eigentlich dann nicht schreiben idhttp1.get(84.213.231.83/C:\bla.exe) [oder so ähnlich^^]?
jakobwenzel - So 22.04.07 16:15
idHTTP nutzt einen HTTP-Server. Und wenn da keiner läuft, gehts mit idHTTP nicht.
pigfacejoe - So 22.04.07 16:21
dankeschön, habs kapiert.
Kennst du vlt. einen Thread, indem beschrieben wird, wie das geht?
jakobwenzel - So 22.04.07 16:34
Entweder du installierst nen Apachen, oder du suchst hier im Forum mal nach idHTTPServer.
Am einfachsten wäre es aber, wenn du Netzwerkfreigaben verwenden würdest.
Timosch - So 22.04.07 16:40
Aber wieso willst du die Datei denn unbedingt über HTTP verschicken? Da gibts doch Protokolle, die für sowas wesentlich besser geeignet sind. Wie gerade gesagt, Netzwerkfreigaben z.B.
pigfacejoe - So 22.04.07 16:53
Nun ja, ich weiss halt nicht, wie das anders geht (ich weiss auch nicht wies so geht) aber ich hatte gerade einen Netzwerk Chat programmiert mit IdTCPServer und Client und wollte halt noch "einen draufsetzen"^^.
Alsow enn jm weiss wies in etwa geht kann ers ja mal posten , wär echt nett.
jakobwenzel - So 22.04.07 16:55
Haste meinen Post gesehen? :wink:
Da stehen schon geeigenete Begriffe, einfach mal danach suchen...
Timosch - So 22.04.07 16:56
Oder les die Datei ein und verschick den Inhalt auch über TCP.
pigfacejoe - So 22.04.07 17:32
Hab ich ma gesucht und probiert, leider wills net so recht, hier mal der code zum senden:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| procedure senden; var St: TfileStream; begin if b then
begin showmessage(form3.ip);form3.idtcpclient1.host:=form3.ip; form3.idtcpclient1.boundPort:=5300; St := TfileStream.Create(form3.opendialog1.filename,fmOpenRead) ; St.Seek(0, soFromBeginning); form3.IdTCPClient1.Connect; try form3.IdTCPClient1.WriteStream(St, True, true); finally form3.IdTCPClient1.Disconnect; end; St.Free; end; |
so der Server macht auf Ruf das hier:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure TForm1.IdTCPServer2Execute(AThread: TIdPeerThread); var I,z: Integer; St: TfileStream; begin
St := TfileStream.Create(Extractfilepath(Paramstr(0))+'bla.jpg',fmCreate); try with AThread.Connection do begin I := ReadInteger; ReadStream(St, I); end; finally St.Free; end; end; |
Der Fehler kommt dann "Cannot bind socket, Port already in Use" hab den Port aber freigegeben und er müsste frei sein.Ich habe probiert von meienem PC auf meinen zu senden und habe ein .jpg Bild als File ausgewählt...Jemand ne Idee was da falsch sein könnte?
matze - Mo 23.04.07 07:20
Hallo,
bitte erstelle für jede deiner Fragen ein separates Topic, da die Diskussion mehrerer Fragen in einem Topic für gewöhnlich für Verwirrung und Durcheinander sorgt.
Viele Grüße, Matze
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!