Comment Python est-il utilisé dans le réseautage?
Le langage de programmation Python joue un rôle vital dans la programmation réseau. Python possède une bibliothèque standard intégrée qui fournit une prise en charge complète pour l'encodage et le décodage des données, les protocoles de réseau et tous les autres concepts de réseautage. La rédaction des codes de programmation réseau dans Python est beaucoup plus facile que dans C ++ ou Java. Le langage de programmation Python offre deux niveaux d'accès au service réseau: accès de bas niveau et de haut niveau. L'accès de bas niveau offre la prise en charge de base du socket du système d'exploitation. Tandis que l'accès de haut niveau permet aux protocoles d'implémentation comme FTP. Http, etc.
Cet article vous aidera dans une compréhension de base du concept le plus célèbre de réseautage à Python qui est la programmation de socket.
Que sont les prises?
Les prises fournissent un canal de communication bidirectionnel entre deux points de terminaison. Processus sur d'autres machines, processus sur la même machine et socket parvient à communiquer avec tous. Ils peuvent être implémentés sur différents canaux tels que UDP, TCP, Sockets de domaine UNIX, etc. La bibliothèque de socket de Python fournit différentes classes pour gérer le transfert de données commun ou une interface générique pour gérer le reste. Les prises utilisent différents types de protocoles pour déterminer la connexion du port à port entre les serveurs et les clients. Ces protocoles sont utilisés pour FTP, SMTP, e-mail, adresse IP, DNS, etc. Le vocabulaire des sockets est différent. Jetez un œil à l'illustration suivante:
Terme | Description |
Domaine | Ensemble de protocoles utilisés comme mécanisme de transport. |
Taper | Définit le type de communication entre les sockets. |
Protocole | Détermine le type de protocole dans le type et le domaine. |
Port | Un point d'écoute à travers lequel les serveurs écoutent le client. Il se compose du nom d'un service, d'une chaîne contenant le numéro de port et un numéro de port Fixnum. |
Nom d'hôte | Identifie une interface réseau et consiste aux choses suivantes: Une chaîne «» qui identifie l'adresse de diffusion. Une chaîne de longueur zéro. Une chaîne qui contient le nom d'hôte, une adresse à double quad ou une adresse IPv6. Un entier qui définit l'adresse binaire dans l'ordre des octets de l'hôte. |
Qu'est-ce que la programmation de socket?
La programmation de socket relie deux nœuds sur un réseau de communication. Un nœud est l'auditeur qui est communément appelé serveur, et l'autre atteint le serveur qui est communément appelé client. Pour la programmation de socket en python, le module de socket doit être inclus.
Explorons quelques exemples pour apprendre à implémenter la programmation réseau dans Python.
Exemple 1:
Dans cet exemple, nous apprendrons la syntaxe du module Socket et comment l'importer dans un programme Python. Tout d'abord, nous importons le module de socket dans le programme Python à l'aide de l'instruction «Importer Socket». Ensuite, nous pouvons utiliser les fonctions des modules de socket. Voici la syntaxe du module Socket ():
socket d'importationMaintenant, exécutons l'instruction pour voir ce qu'elle renvoie:
Voici la sortie suivante:
Exemple 2:
Maintenant, apprenons à créer un serveur simple et un client simple et voyons comment ils communiquent entre eux.
Voici le codage côté serveur:
D'abord, importez une prise puis créez un objet de socket:
Importer une prise comme sObtenez le nom de la machine en appelant l'instruction GethostName ():
nom d'hôte = socket.gethostname ()Fournissez le numéro de port que vous souhaitez que le serveur établisse une connexion entre le serveur et le client:
Portnum = 12345Maintenant, liez l'hôte avec le port pour démarrer une connexion:
s.bind ((nom d'hôte, portnum))L'étape suivante consiste à attendre la connexion client:
socketmodule.Écoutez (5)Enfin, établissez une connexion avec le client:
Bien que vrai:Ce qui suit est le codage côté client:
Pour démarrer une connexion, le module de socket doit être importé du côté client tout comme il a été importé du côté du serveur:
Importer une prise comme sSuivez le même processus, obtenez le nom de la machine locale et réservez le port qui a été réservé par le serveur pour établir une connexion:
nom d'hôte = socket.gethostname ()Maintenant, connectez l'hôte avec le port et établissez une connexion entre eux:
socketmodule.connecter (('127.0.0.1 ', Portnum))Une fois que vous avez terminé avec le codage côté client et le serveur, démarrez le serveur et le client en arrière-plan pour voir les résultats:
Après une connexion réussie, vous verrez la sortie suivante:
Exemple 3:
Voyons un autre exemple pour avoir une compréhension plus claire de la façon dont le serveur se connecte avec le client ainsi que sur la façon dont le serveur écoute le client.
Voici le codage côté serveur:
Pour le codage côté serveur, suivez le même processus. Importez la prise, créez un module de socket, réservez le numéro de port, liez l'hôte et le port et écoutez le client. Si vous pouvez observer, la condition «IF» est ajoutée à la boucle pour vérifier une condition particulière. Voir le code suivant:
socket d'importationCe qui suit est le codage côté client:
Le processus de création d'une connexion du côté client est à nouveau, le même. Importez la prise, créez un module de socket, réservez le numéro de port et connectez le port à l'hôte:
socket d'importationMaintenant, observez que le client envoie un message au serveur - «Salut! Je suis un message du client ». Ce message est reçu par le serveur, et il est imprimé.
Après la connexion réussie entre le serveur et le client, vous pourrez voir la sortie suivante:
Conclusion
Ceci est un aperçu de base de la programmation de socket dans Python et un démarrage rapide avec l'implémentation. Cependant, c'est un vaste sujet et contient beaucoup de détails avec un codage complexe. Une fois que vous serez sur le plan des programmes simples, vous pourrez entrer dans la profondeur de la programmation de socket.