English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Programmation de sockets en Python

Dans le canal de communication bidirectionnelle, le socket est deux extrémités. Les sockets peuvent communiquer entre des processus sur le même ordinateur ou dans des continents différents.

Les sockets sont implémentés par différents types de canaux TCP, UDP.

Pour créer un Socket, nous avons besoin du module socket et de la fonction socket.socket().

Syntaxe

my_socket = socket.socket(socket_family, socket_type, protocol=0)

Différentes méthodes du socket serveur

my_socket.bind()

Cette méthode est utilisée pour lier l'adresse (paire d'hôte, port) au socket.

my_socket.listen()

Cette méthode est utilisée pour configurer et démarrer l'écouteur TCP.

my_socket.accept()

Cette méthode est utilisée pour accepter la connexion du client TCP, en attendant l'arrivée de la connexion (bloquant).

Différentes méthodes dans le connecteur client

my_socket.connect()

Cette méthode démarre主动ement la connexion serveur TCP.

Méthodes de connecteurs génériques

my_socket.recv()

Cette méthode reçoit des messages TCP

my_socket.send()

Cette méthode transmet des messages TCP

my_socket.recvfrom()

Cette méthode reçoit des messages UDP

my_socket.sendto()

Cette méthode transmet des messages UDP

my_socket.close()

Cette méthode ferme le connecteur

my_socket.gethostname()

Cette méthode retourne le nom d'hôte.

Connecteur serveur

Exemple

import socket
my_socket = socket.socket()      # Create a socket object
my_host = socket.gethostname()
my_port = 00000# Store a port for your service.
my_socket.bind((my_host, my_port))
my_socket.listen(5)      # Now wait for client connection.
while True:
   cl, myaddr = my_socket.accept()     # Establish connection with client.
   print ('Got connection from', myaddr)
   cl.send('Thank you for connecting')
   cl.close()     # Close the connection

Connecteur client

Exemple

import socket      # Import socket module
my_socket = socket.socket()      # Create a socket object
my_host = socket.gethostname()     # Get local machine name
my_port = 00000# Store a port for your service.
my_socket.connect((my_host, my_port))
print (my_socket.recv(1024))
my_socket.close