Spécification d'une connexion à l'aide de sockets

De RAD Studio
Aller à : navigation, rechercher

Remonter à Connexion au serveur d'applications

Vous pouvez établir une connexion à un serveur d'applications à l'aide de sockets depuis n'importe quelle machine disposant d'une adresse TCP/IP. Cette méthode présente l'avantage de pouvoir s'appliquer à davantage de machines, mais ne permet pas l'utilisation des protocoles de sécurité. Lorsque vous utilisez des sockets, incluez un composant Datasnap.Win.SConnect.TSocketConnection pour la connexion au serveur d'applications.

TSocketConnection identifie la machine serveur à l'aide de l'adresse IP ou du nom d'hôte du système serveur, et du numéro de port du programme de répartition de sockets (Scktsrvr.exe) exécuté sur la machine serveur. Pour plus d'informations sur les adresses IP et les valeurs de port, voir Description des sockets.

Trois propriétés de TSocketConnection spécifient ces informations :

  • Address spécifie l'adresse IP du serveur.
  • Host spécifie le nom d'hôte du serveur.
  • Port spécifie le numéro de port du programme de répartition de sockets sur le serveur d'applications.

Address et Host s'excluent l'une l'autre. Initialiser la valeur de l'une désinitialise la valeur de l'autre. Pour plus d'informations sur la propriété à utiliser, voir Description de l'hôte.

Si votre application client peut choisir parmi plusieurs serveurs, vous pouvez utiliser Courtage de connexions.

Par défaut, la valeur de Port est 211, c'est le numéro de port par défaut du programme de répartition des sockets qui fait suivre les messages entrants à votre serveur d'applications. Si le répartiteur de sockets a été configuré pour utiliser un port différent, initialisez la propriété Port en fonction de cette valeur.

Remarque :  Vous pouvez configurer le port du répartiteur de sockets en cliquant avec le bouton droit sur l'icône du serveur de socket Embarcadero et en choisissant Propriétés.

Bien que les connexions socket ne permettent pas l'utilisation des protocoles de sécurité, vous pouvez personnaliser la connexion socket en ajoutant votre propre cryptage.

Pour ajouter votre propre cryptage

  1. Créez un objet COM supportant l'interface Datasnap.Win.SConnect.IDataIntercept. C'est une interface de cryptage et de décryptage des données.
  2. Utilisez Datasnap.Win.SConnect.TPacketInterceptFactory comme fabricant de classes de cet objet. Si vous utilisez un expert pour créer l'objet COM à l'étape 1, remplacez la ligne de la section d'initialisation indiquant TComponentFactory.Create(...) par TPacketInterceptFactory.Create(...).
  3. Recensez votre nouveau serveur COM sur la machine client.
  4. Définissez la propriété InterceptName ou InterceptGUID du composant connexion socket pour spécifier cet objet COM. Si vous avez utilisé TPacketInterceptFactory à l'étape 2, votre serveur COM apparaît dans la liste déroulante de l'inspecteur d'objets pour la propriété InterceptName.
  5. Enfin, cliquez avec le bouton droit sur l'icône du serveur de socket Embarcadero, choisissez Propriétés et, dans la page des propriétés, affectez aux propriétés InterceptName et InterceptGUID l'identificateur ProgId ou GUID de l'intercepteur.

Ce mécanisme peut servir également à la compression et à la décompression des données.

Voir aussi