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]