849 Shares 3900 views

Delphi client-serveur basé sur les sockets

Aujourd'hui est un thème d'actualité dans le domaine des technologies de l'information, dédiée au développement et au déploiement de l'architecture « client – serveur ». Cela est dû au fait que les systèmes d'information des différentes échelles sont de plus en plus utilisés dans divers domaines. En outre, la structure de toute base de données est créée en fonction de certains paramètres, de telle manière que travailler avec elle dans le mode normal est possible qu'avec l'utilisation d'applications spéciales. Par conséquent, la mise en œuvre de l'architecture « client – serveur » – une tâche très importante qui se produit avant que les services de technologies de l'information sur différents sites, la solution réussie qui permettra à l'entreprise de fonctionner de manière optimale et en douceur.

Serveur basé sur les sockets

Serveur exécutant sur les prises de protocole peut traiter simultanément les demandes d'un grand nombre d'utilisateurs. Dans ce cas, l'administrateur peut à tout moment faire des ajustements aux réglages de fixer des limites sur le nombre d'utilisateurs simultanés. Par défaut, cette option n'a pas de restrictions.

Après la connexion du client au serveur est un canal séparé avec une embase sur laquelle les données sont échangées. Cependant, est de déployer une nouvelle connexion pour chaque processus spécifique le plus optimal et sécurisé.

Schéma de l'architecture « client – serveur »

Considérons plus en détail la mise en œuvre de manière séquentielle architecture de circuit analyse les définitions couramment utilisées:

1. Propriétés ServerType et du port. Afin que l'utilisateur peut se connecter au serveur, il est important de veiller à ce que le port utilisé par le serveur et le match client. Tel est le but de ce paramètre est fait dans la propriété Port. type de connexion est défini ServerType.

2. Le processus d'ouverture de la douille. Pour la session « client – serveur », il est important d'ouvrir un socket et le port. Écouter en utilisant la propriété.

3. Ensuite, l'échange de données avec l'utilisateur. A la fin des travaux se déroule hors du client. Avec la appropriée équipe de l' administrateur du système, le serveur a terminé son travail, brisant toutes les connexions établies et arrêter le processus d'attente pour les nouvelles connexions.

Demande TServerSocket dans la langue des applications Delphi «client – serveur »

Pour envoyer et recevoir des informations d'un utilisateur en utilisant l'événement OnClientWrite et OnClientRead. Dans ce cas, l'utilisateur peut interagir via un paramètre tel que le ClientSocket. Au travail, utilise souvent les méthodes et propriétés suivantes:

– nombre d'utilisateurs connectés au moment;

– le nombre de processus actifs;

– le nombre de processus libres;

– port, le nom d'hôte et l'adresse IP du local;

– déverrouiller et verrouiller la douille.

Enfin, prêter attention à la souvent appliquée une propriété particulière – données. Cette propriété est utilisée dans la situation suivante. En règle générale, le serveur est utilisé pour servir un grand nombre d'utilisateurs, ce qui signifie qu'il est nécessaire de stocker des informations pour chaque client, et cette information doit être liée à une prise particulière. Dans de telles situations, l'utilisation de la main contraignant est très pratique, et donc la propriété des données largement utilisé. Cependant, il est important de se rappeler que les données – est un pointeur, et il est donc important de toujours vérifier si toutes les règles de travail avec des pointeurs (indiquant le type d'allocation de mémoire, etc.)

documentation

À ce jour, la littérature sur le développement du « client – serveur » applications Delphi, relatives au développement et à l'application de la prise montrée très peu. Par conséquent, pour un examen détaillé de cet aspect peut se référer à la documentation Linux et Unix-systèmes comme il est suffisamment détaillée la technique du déploiement d'applications à l'aide de prises, mais généralement en Perl ou C ++.