Programmation de Sockets en Python
Programmation de Sockets en Python
Un socket réseau est un point de terminaison d'un flux de communication inter-processus à travers un ordinateur.
réseau. Les sockets peuvent communiquer au sein d'un processus, entre des processus sur la même machine, ou
entre les processus sur différents continents. Aujourd'hui, la plupart des communications entre ordinateurs est
basé sur le protocole Internet ; par conséquent, la plupart des sockets réseau sont des sockets Internet. Pour créer un
connexion entre machines, les programmes Python importent le module socket, créent un objet socket,
et appelez les méthodes de l'objet pour établir des connexions et envoyer et recevoir des données. Les sockets sont les
points de terminaison d'un canal de communication bidirectionnel.
Socket en Python
Python offre deux niveaux d'accès aux services réseau. À un niveau bas, vous pouvez accéder aux services de base
prise en charge des sockets dans le système d'exploitation sous-jacent, ce qui vous permet d'implémenter des clients et
serveurs pour les protocoles orientés connexion et sans connexion. Python a également des bibliothèques qui
providehigher levelaccess to specific application level network protocols, such as FTP, HTTP,
SMTP, et ainsi de suite.
Les sockets peuvent être implémentés sur plusieurs types de canaux différents : les sockets de domaine UNIX,
TCP, UDP, etc. La bibliothèque de sockets fournit des classes spécifiques pour gérer les communs
des transports ainsi qu'une interface générique pour gérer le reste.
LeModuleDeLaPrise
Pour créer un socket, vous devez utiliser la fonction [Link]() disponible dans le module socket, qui a
la syntaxe générale :
1
Programmation de socket en Python
Une fois que vous avez un objet socket, vous pouvez alors utiliser les fonctions requises pour créer votre client ou serveur.
programme.
Méthode Description
[Link]() Cette méthode lie l'adresse (pair nom d'hôte, numéro de port) à la socket.
[Link]() Cette méthode configure et démarre un écouteur TCP.
Ce passivement accepte la connexion client TCP, attendant jusqu'à ce que la connexion arrive.
[Link]()
(blocage).
Méthode Description
[Link]() Cette méthode initie activement la connexion au serveur TCP.
Un serveur simple
Pour écrire des serveurs Internet, nous utilisons la fonction socket disponible dans le module socket pour créer un socket.
objet. Un objet socket est ensuite utilisé pour appeler d'autres fonctions afin de configurer un serveur socket.
Appelez maintenant la fonction callbind(hostname, port) pour spécifier un port pour votre service sur l'hôte donné.
Ensuite, appelez la méthode accept de l'objet retourné. Cette méthode attend qu'un client se connecte au
port que vous avez spécifié, puis retourne un objet de connexion qui représente la connexion à ce client.
2
Programmation de sockets en Python
#!C:\Python33\[Link]
# Programme serveur Echo
importer socket
hôte = [Link]()
port = 12345
s = [Link]()
[Link]((hôte, port))
[Link](5)
conn, addr = [Link]()
print('Connexion établie depuis ', addr[0], '(', addr[1], ')')
Merci de vous être connecté
tandis que vrai :
data = [Link](1024)
si pas de données : casser
[Link](data)
[Link]()
Un client simple
Maintenant, nous allons écrire un programme client très simple qui ouvrira une connexion à un port donné.
12345 et hôte donné. C'est très simple de créer un client socket en utilisant le module socket de Python.
fonction.
[Link](hosname, port )ouvre une connexion TCP àhostnameauport. Une fois que vous
ayant une socket ouverte, vous pouvez lire à partir de celle-ci comme n'importe quel objet IO. Une fois terminé, n'oubliez pas de la fermer, car
Le code suivant est un client très simple qui se connecte à un hôte et un port donnés, lit tout
données disponibles du socket, puis quitte :
#!C:\Python33\[Link]
# Programme client Echo
importer socket
host = [Link]()
port = 12345
s = [Link]()
[Link]((hôte, port))
[Link](b'Bienvenue Utilisateur!')
données = [Link](1024)
[Link]()
print(repr(données))
Exécutez maintenant [Link] en arrière-plan, puis exécutez [Link] pour voir le résultat.
Output:
Étape 1 : [Link]. Cela lancerait un serveur en arrière-plan.
Étape 2 : Exécutez [Link]. Une fois le serveur démarré, exécutez le client.
3
Programmation de sockets en Python