Python - Connexions multiples

Table des matières
Comme nous savons Python Il possède de nombreuses bibliothèques qui nous permettent de travailler et de gérer les connexions dans les réseaux, que nous nous connections à des fichiers distants ou que notre programme serve de serveur, dans des exemples de base d'utilisation de sockets avec Python on a vu qu'il se manipule très facilement avec l'utilisation du module priseCependant, pour que ce soit une application plus robuste, nous devons être capables de gérer plusieurs connexions.
Pour gérer plusieurs connexions dans Python nous pouvons utiliser le Fourche et de Enfilage, afin de pouvoir générer des processus d'entrée et de sortie asynchrones qui nous permettent de gérer plusieurs connexions en même temps.
Fourche et filetage
Si nous sommes dans nos premiers pas pour apprendre à programmer ou si nous n'avons fait que de la programmation structurée, peut-être que ces termes peuvent sembler compliqués pour être inconnus, cependant ce sont des concepts simples à comprendre et à digérer, voyons les définitions avant d'aller plus loin.
Fourche: C'est un terme utilisé dans les environnements UNIX et consiste à faire une bifurcation, avec un processus on le duplique et puis on a deux processus égaux mais chacun avec sa portée, le processus d'origine est dit processus parent et le processus dupliqué est dit processus fils, si on fait une analogie avec la science-fiction, on peut les voir comme des univers parallèles, où les mêmes choses existent seulement qu'elles peuvent se comporter différemment aux mêmes points.
L'inconvénient de Fourche c'est que cela peut coûter très cher en termes de ressources et c'est pourquoi nous avons la Enfilage, une Fil C'est un thread, dans ce cas les threads sont des sous-processus qui appartiennent au même processus, partageant la mémoire et les ressources, de cette façon nous réduisons le coût des ressources du processeur, cependant en partageant la mémoire nous trouvons le problème que nous devons être très prudent avec les éléments auxquels le Fils afin de ne pas compromettre les opérations.
Maintenant que nous connaissons la théorie et les concepts de base, nous allons voir quelques exemples avec lesquels nous pouvons voir l'application dans Python.
Comme nous l'avions dit au début grâce au grand nombre de modules et de bibliothèques existant dans Python, faire des programmes avec des fonctionnalités réseau est très simple, nous pouvons donc nous concentrer sur la logique plutôt que sur les aspects techniques.
Voyons dans l'image suivante un exemple de Fourche, puis nous expliquerons ce qui se passe avec le code :

La première chose que nous faisons est d'importer les modules dont nous avons besoin depuis Serveur Socket, important que nous regardons est ForkingMixIn qui sera en charge de gérer la duplication des processus à chaque requête, puis nous définissons la classe Serveur Oui GestionnaireDans Handler nous plaçons un constructeur, qui est celui qui gérera ce qui se passera avec les connexions entrantes, dans ce cas, il obtiendra le nom du client et fera une sérigraphie d'un message; Enfin on instancie la classe Server, on lui passe les paramètres, d'abord le port où il va accepter les connexions puis la classe Gestionnaire, enfin on appelle la méthode servir_pour toujours pour démarrer le serveur afin qu'il puisse gérer les demandes des clients.
Comme nous voyons que cette application est assez simple, voyons comment nous pouvons réaliser quelque chose de similaire en utilisant Fils, dans l'image suivante, nous avons un exemple :

On peut se rendre compte que c'est presque exactement le même code ci-dessus à la différence qu'au lieu d'utiliser ForkingMixIn, nous utilisons FiletageMixInAinsi, comme nous pouvons le voir, ce sont les bibliothèques clés pour ce comportement lors de la création de programmes qui acceptent plusieurs connexions.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave