Socket-Verbindungen einsetzen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Verbindungsprotokoll wählen


Mit TCP/IP-Sockets können Sie extrem kleine Clients erstellen. Wenn Sie beispielsweise eine Web-basierte Client-Anwendung erstellen, ist nicht sichergestellt, dass die Client-Systeme DCOM unterstützen. Sockets hingegen stellen hinsichtlich der Kommunikationsmöglichkeiten eine Art kleinster gemeinsamer Nenner dar, insofern Sie sicher sein können, dass zur Einrichtung einer Verbindung zum Anwendungsserver immer auf den Socket-Mechanismus zurückgegriffen werden kann. Weitere Informationen zu Sockets finden Sie unter Arbeiten mit Sockets.

Statt wie DCOM das Remote-Datenmodul direkt vom Client zu instantiieren, verwenden Sockets eine separate Anwendung auf dem Server (SCKTSRVR.EXE), die Client-Anforderungen entgegennimmt und das Remote-Datenmodul mit COM instantiiert. Die Verbindungskomponente des Clients und SCKTSRVR.EXE auf dem Server sind für das Marshaling von IAppServer-Aufrufen verantwortlich.

Hinweis: SCKTSRVR.EXE kann als NT-Dienstanwendung ausgeführt werden. Um sie im Dienste-Manager zu registrieren, starten Sie SCKTSRVR.EXE mit der Befehlszeilenoption -install. Mit der Option -uninstall können Sie die Registrierung von SCKTSRVR.EXE aufheben.

Bevor eine Socket-Verbindung genutzt werden kann, muss der Anwendungsserver ihre Verfügbarkeit für Clients registrieren, die Socket-Verbindungen verwenden. Standardmäßig registrieren sich alle neuen Remote-Datenmodule selbst durch einen Aufruf von EnableSocketTransport in der Methode UpdateRegistry. Wenn Sie Socket-Verbindungen zum Anwendungsserver verhindern möchten, entfernen Sie diesen Aufruf.

Hinweis: Ältere Server nehmen diese Registrierung nicht vor. Sie haben deshalb die Möglichkeit, die Überprüfung auf Registrierung des Anwendungsservers auszuschalten. Deaktivieren Sie dazu den Menübefehl Verbindungen > Nur registrierte Objekte für die Datei SCKTSRVR.EXE.

Wenn Sie Sockets verwenden, ist der Server nicht gegen Situationen geschützt, in denen Client-Systeme ausfallen, bevor sie eine Referenz auf eine Schnittstelle des Anwendungsservers freigeben. Dies reduziert zwar im Vergleich zu DCOM den Umfang der über das Netzwerk gesendeten Botschaften (DCOM sendet regelmäßig Botschaften, damit die Verbindung aufrechterhalten wird), kann aber dazu führen, dass ein Anwendungsserver seine Ressourcen nicht freigeben kann, da die entsprechenden Informationen vom Client fehlen.

Siehe auch