![]() |
Dateiname<>Übergabe Client<->server
hallo
hab da einen server und einen client (socks) jetzt kann der client den server einen befehl schicken, das der server eine bestimmte datei den client sendet aber der hacken an der sache ist,diese bestimmte datei steht im programmcode des servers. jetzt möchte ich aber das der client den server sagt welche datei er senden soll !!! server
Code:
client
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket); var orders : string; begin orders := socket.ReceiveText; if orders = 'schicke' then begin Socket.SendStream(TFileStream.Create('c:\aa.txt', fmOpenRead or fmShareDenyWrite)); end; end;
Code:
wie könnte man das lösen
procedure TForm1.BefehlClick(Sender: TObject);
var orders : string; begin if Checkbox14.Checked = True then begin orders := 'schicke'; Clientsocket1.Socket.SendText(orders); end; für jeden progammschnipsel wäre ich sehr dankbar mfg vader |
Re: Dateiname<>Übergabe Client<->server
du könntest es so abändern
Delphi-Quellcode:
und beim server dann
procedure TForm1.BefehlClick(Sender: TObject);
var orders : string; begin if Checkbox14.Checked = True then begin orders := 'schicke:c:\abc.txt'; Clientsocket1.Socket.SendText(orders); end; end;
Delphi-Quellcode:
Ungetestet, soll auch nur nen lösungsansatz sein
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket); var orders : string; begin orders := socket.ReceiveText; if pos('schicke:', orders) = 1 then begin Socket.SendStream(TFileStream.Create(copy(orders, 9, length(orders) - 8), fmOpenRead or fmShareDenyWrite)); end; end; |
Re: Dateiname<>Übergabe Client<->server
Moin!
Immer wenn ich irgendwelche Client/ServerSocket Programme sehe, gehen alle davon aus, das ReceiveText auch immer direkt nur den Text enthält den man mit SendText losgeschickt hat. Keine kommt auf die Idee, das der String mal in Teilen ankommen kann oder mehr beinhalten kann (folgende, schon geschickte Daten). Also, falls später mal Probleme in der Richtung auftreten: beachten... MfG Muetze1 |
Re: Dateiname<>Übergabe Client<->server
hallo SirThornberry,
hab deinen code eingefügt und hat sich ohne fehler compillieren lassen aber wenn ich dann den befehl ausführe wird keine datei an den client gestreamt wenn ich dann den server schließe kommt die windowsfehlermeldung "anwendung reagiert nicht und ist möglicherweise überlastet" mfg vader |
Re: Dateiname<>Übergabe Client<->server
@vader: Das sollte auch kein copy & Paste beispiel sein sondern nur ein Lösungsansatz
|
Re: Dateiname<>Übergabe Client<->server
hallo SirThornberry
habe es so jetzt probiert aber ohne erfolg ich schicke den dateinamen als zusätliche variable namens "datei" typ string beim client beim server hab ich ein zweites "socket.ReceiveText" ich weiß nicht ob das schon der fehler ist hab aber den variableninhalt weitergegeben in die variable "test" nun schicke ich den dateinamen zuerst was in "test abgelegt wird (glaub ich halt ) und dann ruf ich die variable "test" in der befehlszeile für datei streamen auf Socket.SendStream(TFileStream.Create(test, fmOpenRead or fmShareDenyWrite)); dann schick ich den befehl fürs datei streamen. client
Code:
server
procedure TForm1.Button3Click(Sender: TObject);
var orders : string; datei:string; begin ////// Befehl an den Server Datei streamen if Checkbox14.Checked = True then begin orders := 'schicke'; Clientsocket1.Socket.SendText(orders); end; ////// Dateinamen in die Variable datei am Server ablegen if Checkbox17.Checked = True then begin datei := 'c:\aa.txt'; Clientsocket1.Socket.SendText(datei); end; [code]procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var orders : string; datei : string; test : string; begin orders := socket.ReceiveText; datei := socket.ReceiveText; test := datei; if orders = 'schicke' then begin Socket.SendStream(TFileStream.Create(test, fmOpenRead or fmShareDenyWrite)); end; end; aber es funzt nicht, wo liegt hier der fehler oder ist das absoluter blödsinn mfg vader |
Re: Dateiname<>Übergabe Client<->server
hallo SirThornberry und an alle
nur kurz darüberblicken über meinem code wäre tiefst verbunden, würde nur mehr diese option brauchen dann wäre ich happy mfg vader |
Re: Dateiname<>Übergabe Client<->server
kann mir da keiner weiterhelfen
mfg vader |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz