Autor Beitrag
Albanac
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37



BeitragVerfasst: So 13.10.02 19:04 
ich hab das Beispiel aus der FAQ übernommen um ne Datei zu verschicken.

Wenn ich das untere Beispiel benutze gibt es das Problem, das die AlreadyReceived -1 ist und die Datei nicht öffnbar ist.
Da es vielleicht etwas unübsichtlich erscheint hier ne beschreibung was passiert:

client sendet Handshake
server bereitet sich auf empfang vor
client sendet Dateiname
server schreibt den in nen label
client sendet size
server schreibt es in nen label
client sendet file...

ausblenden volle Höhe 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:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
procedure TForm1.ServerClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
pBuffer: pointer;
Buffer: array[0..4096] of Byte; // die Größe des Puffers ist beliebig, müsste nur (s.u.)
SizeOfBuffer: integer;

input : string;
begin
input := Socket.ReceiveText;

If (Server.Tag = 1) then
  begin
  pBuffer := @Buffer;
  SizeOfBuffer := Socket.ReceiveBuf(pBuffer^, 4096); //hier angeglichen werden
  FileStream.Write(pBuffer^, SizeOfBuffer);
  Inc(AlreadyReceived, SizeOfBuffer);
  lbl_sent.Caption := IntToStr(AlreadyReceived) + ' bytes empfangen';
  Socket.SendText(IntToStr(AlreadyReceived));
 end;

If (Server.Tag = 3) then
begin
lbl_remsize.Caption := input;
Server.Tag := 1;
end;

If (Server.Tag) = 2 then
begin
lbl_remname.Caption := input;
Server.Tag := 3;
FileStream := TFileStream.Create('C:\save.txt', fmCreate or fmOpenWrite);
end;

If (Server.Tag = 0) and (input = 'handshake') then
begin
Server.Tag := 2;
end;
O'rallY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: So 13.10.02 19:13 
Wann genau tritt welcher Fehler auf?

_________________
.oO'rallY
Linux is like a tipi: No gates, no windows and a gnu-eating apache inside...
Albanac Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37



BeitragVerfasst: So 13.10.02 19:19 
Zitat:
Wenn ich das untere Beispiel benutze gibt es das Problem, das die AlreadyReceived -1 ist und die Datei nicht öffnbar ist (größe: 0k).

Der Code den ich gemacht habe geht einwandfrei :D ...
Eine Fehlermeldung wird nicht produziert
O'rallY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 563



BeitragVerfasst: So 13.10.02 19:34 
So lösen sich Probleme von selbst ... :wink:

_________________
.oO'rallY
Linux is like a tipi: No gates, no windows and a gnu-eating apache inside...
Albanac Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37



BeitragVerfasst: So 13.10.02 19:38 
das problem ist immernoch das gleiche....

es wird keine fehlermeldung produziert aber funktionieren tuts nicht...

97556217 ist meine ICQ nr dann kann ich dirs auch schicken oder so (den quelltrext)