0% ont trouvé ce document utile (0 vote)
8 vues4 pages

Programmation de Sockets en Python

La programmation de sockets en Python permet aux processus de communiquer à travers un réseau. Les sockets agissent comme des points de terminaison pour des canaux de communication bidirectionnels. Le module socket fournit des fonctions pour créer des sockets qui peuvent agir en tant que clients ou serveurs. En tant que client, les sockets peuvent se connecter à des serveurs. En tant que serveur, les sockets peuvent se lier à une adresse et à un port pour écouter les connexions des clients entrants. Les méthodes de socket courantes incluent bind(), listen(), accept(), connect(), recv(), send(), close(), et plus encore. Des exemples simples de client et de serveur démontrent comment établir une connexion de base et transférer des données via des sockets en Python.

Traduit par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues4 pages

Programmation de Sockets en Python

La programmation de sockets en Python permet aux processus de communiquer à travers un réseau. Les sockets agissent comme des points de terminaison pour des canaux de communication bidirectionnels. Le module socket fournit des fonctions pour créer des sockets qui peuvent agir en tant que clients ou serveurs. En tant que client, les sockets peuvent se connecter à des serveurs. En tant que serveur, les sockets peuvent se lier à une adresse et à un port pour écouter les connexions des clients entrants. Les méthodes de socket courantes incluent bind(), listen(), accept(), connect(), recv(), send(), close(), et plus encore. Des exemples simples de client et de serveur démontrent comment établir une connexion de base et transférer des données via des sockets en Python.

Traduit par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation de sockets en Python

Notions de base sur les sockets

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.

Vocabulaire des Sockets


Term Description
La famille de protocoles qui sera utilisée comme mécanisme de transport. Ces valeurs sont
domaine
des constantes telles queAF_INET, PF_INET, PF_UNIX, PF_X25, et ainsi de suite.
Le type de communications entre les deux points de terminaison, généralementSOCK_STREAMpour
type
protocoles orientés connexion etSOCK_DGRAMpour les protocoles sans connexion.
Typiquement zéro, cela peut être utilisé pour identifier une variante d'un protocole au sein d'un domaine
protocole
et type.
The identifier of a network interface:
• Une chaîne, qui peut être un nom d'hôte, une adresse dotée en quatre, ou une adresse IPV6 dans
notation par deux-points (et éventuellement par point)
nom d'hôte
• Une chaîne<diffusion>, qui précise unINADDR_BROADCASTadresse.
• Une chaîne de longueur zéro, qui spécifieINADDR_ANY, ou
• Un entier, interprété comme une adresse binaire dans l'ordre des octets de l'hôte.
Chaque serveur écoute les clients appelant sur un ou plusieurs ports. Un port peut être un Fixnum
port
numéro de port, une chaîne contenant un numéro de port, ou le nom d'un service.

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

s = [Link] (famille_de_socket, type_de_socket, protocole=0)

Voici la description des paramètres :


• socket_family:This is either AF_UNIX or AF_INET, as explained earlier.
• socket_type:This is either SOCK_STREAM or SOCK_DGRAM.
• Le protocole : cela est généralement omis, par défaut à 0.

Une fois que vous avez un objet socket, vous pouvez alors utiliser les fonctions requises pour créer votre client ou serveur.
programme.

Méthodes de Socket Serveur

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éthodes de socket client

Méthode Description
[Link]() Cette méthode initie activement la connexion au serveur TCP.

General Socket Methods


Méthode Description
[Link]() Cette méthode reçoit un message TCP
[Link]() Cette méthode transmet un message TCP
[Link]() Cette méthode reçoit un message UDP
[Link]() Cette méthode transmet un message UDP
[Link]() Cette méthode ferme le socket
[Link]() Renvoie le nom d'hôte.

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

vous feriez fermer un fichier.

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.

Étape 3 : La sortie de [Link] est générée comme suit :

3
Programmation de sockets en Python

C:\Users\Ashok Kumar\Bureau>python [Link]


Connexion établie depuis [Link] (61428)
Merci de vous être connecté

Étape 4 : Sortie de [Link] génère comme suit :

C:\Users\Ashok Kumar\Bureau>python [Link]


Bienvenue Utilisateur !

Modules Internet Python


Une liste de quelques modules importants qui pourraient être utilisés dans la programmation réseau/Internet en Python.

Protocole Fonction commune Port No Module Python


HTTP Pages Web 80 httplib, urllib, xmlrpclib
NNTP Actualités Usenet 119 nntplib
FTP Transferts de fichiers 20 ftplib, urllib
SMTP Envoi d'e-mail 25 smtplib
POP3 Récupération de l'email 110 poplib
IMAP4 Récupération d'email 143 imaplib
Telnet Lignes de commande 23 telnetlib
Gopher Transferts de documents 70 gopherlib, urllib

Vous aimerez peut-être aussi