Einzelnen Beitrag anzeigen

m0sch3r

Registriert seit: 29. Mär 2004
121 Beiträge
 
Delphi 7 Enterprise
 
#1

Vesdenden und empfagen eines records mit idUDPclient /server

  Alt 29. Mär 2004, 15:42
Hi


Ein record
Delphi-Quellcode:
TUDPpacket = record
      case id : integer of
           $01 : (lied : Tmp3file); //Sendet gefundene Lieder
      // $02 : //Bestatigung
      // $03 : (lied : Tmp3file; user : Tuser) ; //Anfrage auf Download
           end;
wird versendet mit

idudpclient1.SendBuffer(antwort, sizeof(antwort));

in der procedure ist antwort : Tudppacket intern deklariert
beim Versuch ihn wieder zu empfangen wird beim IdUDPServer1 das "Onread" ereignis ausgelöst
Delphi-Quellcode:
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
  ABinding: TIdSocketHandle);
begin
IdUDPServer1.ReceiveBuffer(paketik, sizeof(paketik), 500);
     if (not paketik.id = 0) then
         begin
              case paketik.id of
              $01 : new_answer(paketik); //Ein neues lied wurde gefunnden
              --------------


               end; //case
          end; //if
end;
paketik ist auch intern als paketik : TUDPpacket deklariert...
es wird nur ein leerer record vom typ Tudppacket empfangen....? obwohl das onread des Servers statt findet....!?

das Programm beinhaltet gleichzeitig den idUDPclient und idUDPserver, getestet wird auf einem Compjuter, das programm wird nur einmall aufgerufen....!!! Das gleiche Prinzip mit Tclient/serversocket funktioniert, im gleichen Testverfahren.!

Neuwsgroup liefert keine Ergebnise...Ist jemand in der Lage mir zuerklären wieso keine Übertragung statt findet...?

Als Alternative kann jamand ein Beispiel posten wie ein Record per UDP protocol ubertragen werden kann...?



Danke im Voraus......

Sergej Schweizer

[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat