Ich bin immer noch daran gewöhnt, Indy, ein Multi-Threaded-Socket-System mit umfangreichen Fähigkeiten. Eines der großen Dinge, die ich gesehen habe, ist, wie ein Server-Socket eine Reihe verschiedener Bindungen haben kann. Beispielsweise könnten Sie drei Bindungen für drei Ports mit derselben IP-Adresse haben. Ich verwende Indy 10 auf Delphi XE2.Verwenden Sie die Mehrfachbindungen von Indy Server als separate Sockets?
Ich bin ein altes System von mir neu bauen, die die altmodischen TServerSocket
und TClientSocket
Komponenten aus ScktComps
verwendet und wieder tut es mit Indy TIdTCPServer
und TIdTCPClient
. Das alte System besteht eigentlich aus 3 völlig unterschiedlichen Server/Client-Sockets an jedem Ende, wobei jeder Socket einen bestimmten Zweck erfüllt und zusammenarbeitet - ähnlich wie FTP einen Socket für Binärdaten und den anderen Socket für Befehle verwendet.
Ist es möglich, drei separate Server/Client-Sockets innerhalb derselben Komponente mit diesen Bindungen nachzuahmen? Es wäre großartig, wenn ich nur einen Server-Socket mit 3 Ports gebunden und auf dem Client mit 3 verschiedenen Ports auf dem Server verbunden wäre. Alles, was ich tun möchte, ist die Notwendigkeit, 3 separate Server/Client-Socket-Komponenten zu erstellen und sie zu einem einzigen zu kombinieren.
Awesome, nur fragt sich jeder Port einen eigenen Thread mit oder höchstwahrscheinlich alle drei im gleichen Kontext Thread? –
Jeder Eintrag in der Sammlung "Bindungen" wird in einem eigenen Thread ausgeführt, der eingehende Verbindungen an seinem jeweiligen Port akzeptiert. Jede akzeptierte Clientverbindung läuft dann ebenfalls in einem eigenen Thread. Wenn Sie also 3 'Bindings'-Einträge und 3 verbundene Clients haben, werden 6 Threads ausgeführt. –
Perfekt, genau das wollte ich. –