Hier würde sich ja auch ein ganz klassischer eigener
TCP-Server mit persistenten Verbindungen anbieten.
Persistente Verbindungen führt dann aber zu höherem Resourcenverbrauch auf dem Server, wenn man "klassisch" mit einem Thread je Verbindung arbeitet. Mit
Indy zum Beispiel wird es nicht leicht, wenn zehntausende Clients gleichzeitig versorgt werden wollen, selbst wenn diese nur "gelegentlich" Daten senden.
Die Verbindungen ad-hoc (wenn es etwas zu senden gbt) neu aufzubauen und danach sofort wieder zu trennen ist auch keine Lösung. Der Server hat dann nach einiger Zeit keine verfügbaren
TCP Ports mehr (getrennte Verbindungen stehen für einige Zeit noch auf TIME_WAIT).
Vor die Wahl gestellt, sind dann persistente Verbindungen kombiniert mit einem asynchron arbeitenden Server und Workerthreads resourcenschonender (auch für Delphi gibt es asynchron arbeitende
TCP Server, es muss nicht Node.JS sein).