Einzelnen Beitrag anzeigen

NightroadSora

Registriert seit: 27. Mär 2011
11 Beiträge
 
#1

Ist der Server zu "schnell"?

  Alt 28. Mär 2011, 22:24
Ich hab ein Netzwerkprojekt. Der Client stellt bestimmte Anfragen, sendet erst nen Text und danach sofort nen Buf. So Wenn ich beim Server nen Haltepunkt einstelle und schrittweise durchgehe, klappts alles problemlos, wenn ich den rausnehme krieg ich ne Class Exception!

Kann ich delphi irgendwie sagen dass es n paar millisekunden oder so warten soll, damit evtl das DAtenpaket Zeit hat anzukommen?
Ich verzweifle an diesem verdammten Problem schon den ganzen Abend...


Das macht der server beim lesen...
Delphi-Quellcode:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
    Info:TInfo;
    Zahl:Integer;
begin
IDMSG:=Socket.receivetext;
if ClientReadCount < 1 then
case StrToInt(IDMSG) of
1 :
    begin
    Socket.ReceiveBuf(Info,SizeOf(Info));
    CustomerErstellen(Kaeuferzaehler,Info);
    read_customer(Kaeuferzaehler);
    Kaeufer:=KSearch(Kaeuferzaehler);
    memo2.Lines.add(Kaeufer.get_name);
    KDelall;
    end;
2: begin
    Socket.ReceiveBuf(Info,SizeOf(Info));
    Kaeufer:=Customerfinden(StrToInt(Info.name),Kaeuferzaehler); //Name enthält hier einfach nur die KID!
    with Info do begin
                  Name:=Kaeufer.get_name;
                  Vorname:=Kaeufer.get_vorname;
                  Adresse:=Kaeufer.get_adresse;
                  end;
    Socket.Sendtext('0201');
    Socket.Sendbuf(Info,SizeOf(Info));
    end;
end;
inc(ClientreadCount);
end;
Er kriegt von nem Clientprogramm entsprechend einen sendtext um ins richtige Case zu springen, und den Buf mit namen info.
Im Prinzip ist alles untere egal, denn das Ding ist, wenn ich wie gesagt nen Haltpunkt bei der Zeile:
IDMSG:=Socket.receivetext; setze und dann F9 drücke um den Rest durchzurattern geht alles hervorragend... wenn ich den Haltepunkt wegmache krieg ich den Fehler '' ist kein gültiger Integerwert ...

Geändert von alzaimar (28. Mär 2011 um 22:33 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat