Thema: Delphi TCPClient (N00B) Problem

Einzelnen Beitrag anzeigen

CABALxx

Registriert seit: 23. Jan 2004
Ort: Limburg
4 Beiträge
 
Delphi 7 Enterprise
 
#1

TCPClient (N00B) Problem

  Alt 25. Jan 2004, 22:05
hi erstemal
also ich bin ein totaler neuling in delphi. ich habs erst seit 3 wochen in informatik und vorher hab ich auch nur ein ganz bisschen gemacht.
also ist mein knowledge entsprechend klein.......


Also ich wollte einen Server - Cliente Filetranfer machen. dazu wollte ich die komponenten TCPServer und TCPClient aus der ruprik INTERNET verwenden...ich weiss das es noch die Indy komponenten gibt, aber mir als anfänger erschienen die fürs erste als zu schwer...

naja ich hab auch mal einen server und einen client gemacht
beide ohne Buggs und compilier bar
un die machen sogar zum teil was ich will

ich wollte das der server nen Filestream mit der datei C:\Text1.txt
macht und das ein passender Client diesen Filestream "auffängt"
und die datei in C:\Programme\TEXT22.txt schreibt

naja also der client erzeugt auch unter C:\Programme
die datei TEXT22.txt aber das problem ist,
da steht nix drin ( also nicht das was drin stehn sollte; von der TEXT1.txt datei )

hat jemand ne idee woran das liegt??
ich hab folgendes gemacht:

SERVER


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
  FStream: TFileStream;
begin

FStream := TFileStream.Create('C:\TEXT1.txt', fmOpenRead);
TcpServer1.SendStream(FStream);

end;

end.
und dann noch im Object Inspector folgendes eingestellt für den TcpServer1:

Active : True
BlockMode : bmThreadBlocking ( das war voreingestellt )
Local Host: 127.0.0.1
Local port: 3300
Name: TcpServer1
Tag: 0

und beim CLIENT habsch folgendes gemacht:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  FStream: TFileStream;
  SizeOfFile: Integer;
  pBuffer: Pointer;
begin
  FStream := TFileStream.Create('C:\Programme\TEXT22.txt', fmCreate or fmOpenWrite);
  SizeOfFile := TcpClient1.BytesReceived;
  GetMem(pBuffer, SizeOfFile);

try
TcpClient1.ReceiveBuf(pBuffer^, SizeOfFile);
FStream.Write(pBuffer^, SizeOfFile);

finally
    FreeMem(pBuffer);
    FStream.Free;
end;

end;
und dann noch folgendes im Object Inspector für TcpClient1 eingestellt:

Active : True
BlockMode: bmBlocking ( auch das war voreingestellt )
Name : TcpClient1
RemoteHost: 127.0.0.1
RemotePort: 3300
tag: 0

joa
hat jemand ne idee warum in der vom Client erstellten datei nich das drin steht was drin stehn soll=??


ich hatte auch mal an anderer stelle um hilfe gebeten aber da kam bisher nur der verweiss auf die komponenten TServerSocket und TClientSocket
aber die sind 1. bei delphi 7 nicht mehr standartmässig aufgeführt die müsst ich nachinstalliern und 2. wurde mehrfach von diesen komponenten abgeraten und geholfen hat mir diese hilfe deshalb auch nicht grossartig weil der Sourcecode der von mir verwendeten komponenten und von denen ( meiner meinung nach ) ganz verschieden aussieht / ist....

thx schonmal
  Mit Zitat antworten Zitat