Wie sieht es aus? Schon eine Lösung gefunden?
Im Anhang ist mal eine an das Problem angepasste
Unit.
Kann man wie folgt einsetzen:
Delphi-Quellcode:
FUDPSocketThread:=TUDPSocketThread.Create(True);
FUDPSocketThread.IP:='
127.0.0.1';
FUDPsocketThread.Port:=21000;
FUDPSocketThread.SendData:='
Hello World';
//je nach Ereignis, welches man mitbekommen will
FUDPSocketThread.OnSocketMessage:=SocketMessage;
FUDPSocketThread.OnUDPMessage:=UDPMessage;
//evtl. rauslassen, weil es zu viel Zeit beansprucht
FUDPSocketThread.EventHandle:=
Handle;
FUDPSocketThread.Resume;
Und die Ereignisbehandlungen:
Delphi-Quellcode:
//für EventHandle
procedure TForm1.CMUDP(var Msg: TMessage); //message CM_UDP
var i:Integer;
begin
memo1.lines.add('UDP-Event');
memo1.lines.add('------------------------------------------');
for i:=0 to FUDPSocketThread.ReceivedMessages.Count-1 do
begin
memo1.lines.Add(FUDPSocketThread.ReceivedMessages[0]);
FUDPSocketThread.ReceivedMessages.Delete(0);
end;
memo1.lines.add('------------------------------------------');
end;
procedure TForm1.SocketMessage(Sender: TObject; aMessage: string);
begin
Memo1.Lines.Add('Socket: '+aMessage);
end;
procedure TForm1.UDPMessage(Sender: TObject; aMessage: string);
begin
Memo1.lines.add('UDP: '+aMessage);
end;
Thread Beenden natürlich nicht vergessen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.