Ich würde allerdings eher mal den Stacktrace an der Stelle als Ausgangspunkt nehmen und schauen, was da vorher passiert. Sprich ein wenig debuggen und schauen, ob es einen besseren Eingriffspunkt gibt.
Dann habe ich das mal kurz gemacht.
Das Akzeptieren kannst du ohne Modifikation des
Indy-Quelltextes nicht verhindern (je nach Projekt lohnt es sich aber, das dort zu implementieren), aber es gibt dort schon einen entsprechenden Kommentar (IdCustomTCPServer.pas --> TIdListenerThread.Run):
Delphi-Quellcode:
// TODO: under Windows at least, use SO_CONDITIONAL_ACCEPT to allow
// the user to reject connections before they are accepted. Somehow
// expose an event here for the user to decide with...
Aber:
Dort wird auch die maximale Anzahl an Verbindungen geprüft. Wenn diese erreicht ist, wird dort mit Abort reagiert. Insofern ist das dort die korrekte Wahl, wenn du das im OnContextCreated auslöst. Das OnConnect wird dann gar nicht erst ausgeführt, insbesondere wird Server.Scheduler.StartYarn gar nicht erst erreicht.