Utilisation de connexions Socket

De RAD Studio
Aller à : navigation, rechercher

Remonter à Sélection d'un protocole de connexion


TCP/IP Sockets vous permet de créer des clients légers. Par exemple, si vous écrivez une application client pour le Web, vous ne pouvez pas être certain que les systèmes client supportent DCOM. Le protocole Sockets offre un plus petit dénominateur commun qui permet d'établir des connexions au serveur d'applications. Pour plus d'informations sur les sockets, voir Utilisation des sockets.

Au lieu d'instancier directement le module de données distant à partir du client (comme c'est le cas avec DCOM), le protocole Sockets utilise une application séparée sur le serveur (ScktSrvr.exe) qui accepte les requêtes client et instancie le module de données distant à l'aide de COM. Le composant connexion sur le client et ScktSrvr.exe sur le serveur sont responsables du tri des appels IAppServer.

Remarque :  ScktSrvr.exe peut s'exécuter en tant qu'application de service NT. Recensez-le dans le gestionnaire de services en le lançant avec l'option en ligne de commande -install. Vous pouvez le dérecenser avec l'option en ligne de commande -uninstall.

Avant de pouvoir utiliser une connexion socket, le serveur d'applications doit recenser sa disponibilité pour les clients utilisant une connexion socket. Par défaut, tous les nouveaux modules de données distants se recensent eux-mêmes en ajoutant un appel de la méthode EnableSocketTransport dans la méthode UpdateRegistry. Vous pouvez retirer cet appel pour empêcher les connexions de socket à votre serveur d'applications.

Remarque :  Des serveurs plus anciens n'ajoutant pas ce recensement, vous pouvez désactiver la vérification que le serveur d'applications est recensé en désélectionnant dans ScktSrvr.exe l'élément de menu Connexions > Seulement les objets recensés.

Tant qu'il n'a pas libéré une référence aux interfaces sur le serveur d'applications, le protocole Sockets n'offre aucune protection sur le serveur contre les défaillances système client. Tout en générant moins de trafic de messages que DCOM (qui envoie périodiquement des messages), l'utilisation de Sockets peut aboutir à la situation dans laquelle un serveur d'applications, non conscient de la déconnexion du client, ne libère pas ses ressources.

Voir aussi