Entwickler-Ecke
Internet / Netzwerk - Dateien Versenden über TServer und Client Socket?
pyr0t0n - Sa 13.05.06 18:14
Titel: Dateien Versenden über TServer und Client Socket?
Hallo,
Also ich würde gerne dateien über die TServerSocket an den TClientSocket senden. Ich weis es gibt indy usw. Da ich aber einen Router habe und den Server spiele weil ich zu dem anderen keine Direct Connection aufbauen kann benutze ich halt diese sog. Reverse Connection. Deswegen funzt das mit dem Indy FTP auch net weil ich halt keine Dateien von dem Server an den Clienten senden kann.
Nun ich habe irgendwo schonmal gelesen das sowas möglich ist. Nun meine Frage. WIE? ^^
Hoffe ihr könnt mir helfen. Danke schonmal
Mfg
Pyr0t0n
Green - Sa 13.05.06 19:06
naja, dabei gehts halt letztendlich ums protokoll... das heisst du musst dem Client klarmachen das ja ne datei kommt. dann kannste deine datei aufspalten, also komplett mit header und so, stück für stück als strings übergeben, und am anderen ende wieder ne datei druss machen... is aber recht kompliziert. besonders mit dem header und so
mfG Green
Narses - Sa 13.05.06 19:47
Moin!
pyr0t0n hat folgendes geschrieben: |
| Ich weis es gibt indy usw. Da ich aber einen Router habe und den Server spiele weil ich zu dem anderen keine Direct Connection aufbauen kann benutze ich halt diese sog. Reverse Connection. Deswegen funzt das mit dem Indy FTP auch net weil ich halt keine Dateien von dem Server an den Clienten senden kann. |
Dann hast du deinen Router nicht korrekt konfiguriert; das wird dann mit den Sockets vermutlich auch nicht korrekt funktionieren, die haben nur eine andere API, aber setzen genauso auf der WSA auf... :|
cu
Narses
pyr0t0n - Sa 13.05.06 20:06
nein mom ich hab einen router kann die ports für meien server aber freischalten. der anderen mit dem ihc das benutzen will hat einen kann aber dort keine ports freischalten deswegen erhält er den client und connected zu meinem rechner und dann kann ich ihm textnachrichten zukommen lassen also sollte das auch mit dateien gehen.
Narses - Sa 13.05.06 21:03
Moin!
OK, dann halt so rum formuliert: wenn´s mit den Indies nicht klappt, geht´s auch mit den Sockets nicht. :|
cu
Narses
//EDIT: Tiepvehler korrigiert ;)
Green - So 14.05.06 00:09
naja, aber wenn text geht dann kann ers doch nach meiner methode machen ;)
€:
der easy Delhpi Helper sagt foldendes:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| function FileToString(const AFilename: String; StartPos: Integer=0; EndPos: Integer=0): String; var FileStream : TFileStream; wlCount: Integer; begin if FileExists(AFilename) then begin if StartPos<0 then StartPos:=0;
FileStream := TFileStream.Create(AFilename, fmOpenRead or fmShareDenyWrite); try if (EndPos <= StartPos) or (EndPos>FileStream.Size) then EndPos := FileStream.Size; wlCount := EndPos - StartPos; if FileStream.Size > StartPos then begin SetLength(Result, wlCount); FileStream.Seek(StartPos, soFromBeginning); FileStream.Read(Result[1], wlCount); end; finally FileStream.Free; end; end else Result := ''; end; |
damit kann ich eine datei in einen String laden...
nun sollte es auch nicht mehr so schwer sein daraus eine funktion zu machen die genau das gegenteil macht, dann hätteste es ja
mfG Green
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!