Einzelnen Beitrag anzeigen

Marco Steinebach

Registriert seit: 4. Aug 2006
491 Beiträge
 
Delphi 5 Enterprise
 
#1

Indy UDP macht mich noch wahnsinnig

  Alt 25. Feb 2016, 16:15
Hallo zusammen,
indy 10_5343 (also neuestes build)
Ich hab einen UDPServer
Delphi-Quellcode:
  arUDPServer := TIdUDPServer.create;
  arUDPServer.defaultPort := arPort+1; // ist 'ne konstante
  arUDPServer.BroadcastEnabled := true;
  arUDPServer.onUDPRead := arUDPServerUDPRead;
  arUDPServer.active := true;
Die UDPRead-Prozedur lautet schlicht:
Delphi-Quellcode:
procedure TMainForm.arUDPServerUDPRead (
  AThread: TIdUDPListenerThread; const AData: TIdBytes; ABinding: TIdSocketHandle);
begin
  infobox (format ('%s hat %s geschrieben.', [aBinding.peerIP, bytesToString (aData)]));
end;
Bleibt zum schluß noch ein
  arUDPServer.Broadcast ('Just a test', arPort+1); Dieses Programm lasse ich auf zwei rechnern laufen.
Setze ich bei Rechner1 den Broadcast ab, bekommt dieser, da ja der Server auch sendet, seinen eigenen Broadcast, ich kriege also die Messagebox angezeigt, so weit, so gut.
Rechner Nummer 2 bekommt den Broadcast auch, aber zweimal? Hääää?
Bin ich schon bei diesem einfachen Beispiel zu blöd, oder was läuft hier falsch?
Hiiiilfe!
Nehme ich zum Senden einen UDPClient, passiert das gleiche... Also Rechner 2 bekommt den Broadcast zweimal.
Viele Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat