AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Dateiname<>Übergabe Client<->server

Dateiname<>Übergabe Client<->server

Ein Thema von Vader · begonnen am 8. Mai 2004 · letzter Beitrag vom 13. Mai 2004
Antwort Antwort
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#1

Dateiname<>Übergabe Client<->server

  Alt 8. Mai 2004, 20:57
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:
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;
client
Code:
procedure TForm1.BefehlClick(Sender: TObject);
var orders : string;

begin

if Checkbox14.Checked = True then
  begin
    orders := 'schicke';
    Clientsocket1.Socket.SendText(orders);
  end;
wie könnte man das lösen

für jeden progammschnipsel wäre ich sehr dankbar


mfg vader
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Dateiname<>Übergabe Client<->server

  Alt 8. Mai 2004, 22:34
du könntest es so abändern
Delphi-Quellcode:
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;
und beim server dann
Delphi-Quellcode:
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;
Ungetestet, soll auch nur nen lösungsansatz sein
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Dateiname<>Übergabe Client<->server

  Alt 9. Mai 2004, 02:02
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
  Mit Zitat antworten Zitat
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Dateiname<>Übergabe Client<->server

  Alt 9. Mai 2004, 09:07
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
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Dateiname<>Übergabe Client<->server

  Alt 9. Mai 2004, 10:04
@vader: Das sollte auch kein copy & Paste beispiel sein sondern nur ein Lösungsansatz
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Dateiname<>Übergabe Client<->server

  Alt 9. Mai 2004, 15:26
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:
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;
server
[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
  Mit Zitat antworten Zitat
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Dateiname<>Übergabe Client<->server

  Alt 10. Mai 2004, 19:49
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
  Mit Zitat antworten Zitat
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#8

Re: Dateiname<>Übergabe Client<->server

  Alt 13. Mai 2004, 14:35
kann mir da keiner weiterhelfen

mfg vader
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz