Einzelnen Beitrag anzeigen

m0sch3r

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

Wie versende ich ein Record per UDP mit Indy 10

  Alt 11. Mär 2005, 17:51
Eine Structur:

Delphi-Quellcode:
TUDPPacket = record
                case ID : integer of
                $00 : (ClientReceive00 : TSearchFile);
                $11 : (ClientReceive11 : TSearchFile);
                ******************************************

TSearchFile = record
                SFilename : string[100];
                SMD5 : string[50];
                SArtist : string[50];
                STitle : string[50];
                STyp : string[4];
                SSize : String[10];
                S_IP : string[16];
                end;
soll per UDP socket (Indy 10 ) versendet verden..
die methode sendbuffer von idUPDClient hat als argument ein Tbytes (array of byte)

daher versende ich folgendermaßen

Delphi-Quellcode:
procedure TForm1.UDPSendMyRecord(ip : string; SomeRecord: TUDPPacket);
var
    dummy : Tbytes;
begin
     setlength(dummy, sizeof(SomeRecord));
     move(SomeRecord, dummy, sizeof(dummy));
     form1.IdUDPClient1.Host := ip;
     form1.IdUDPClient1.SendBuffer(dummy);

end;
leider beim empfangen
Delphi-Quellcode:
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TBytes;
  ABinding: TIdSocketHandle);
var
    paketik : TUDPPacket;
begin
         move(Adata, paketik, sizeof(adata));
         *********************************
wird nichts empfangen.. was könnte falsch sein...!? Bzw. gibt es eine andrere methode eingene Records per UDP zu senden..!?
  Mit Zitat antworten Zitat