Création d’un serveur
1. Introduction
Il est nécessaire de passer par quatre étapes pour créer un serveur :
-
Créer le socket.
-
Donner les options au socket (optionnel).
-
Lier à un port.
-
Écouter après des connexions.
chap2_exo7.py
host=''
port=1234
s=socket.socket(socket.AF_INET,SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
s.bind((host,port))
s.listen(5)
Si nous ne tenons pas compte dans le code précédent des deux lignes host et port, nous retrouvons nos quatre étapes de création du serveur, une étape par ligne.
Nous ne reviendrons pas sur la création de l’objet socket qui a déjà été vue précédemment.
La ligne suivante est optionnelle et les options par défaut conviennent pour la plupart des programmes, mais voyons quand même les différentes possibilités.
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
Les options
setsockopt(level,optname,value)
level : .SOL_SOCKET : on travaille avec les sockets.
optname :
-
SO_BINDTODEVICE : le socket est valide pour une carte réseau spécifiée dans Value (nom de la carte).
-
SO_BROADCAST : permet la transmission et réception de paquets de broadcast. Value : booléen.
-
SO_DONTROUTE : interdit aux paquets de passer à travers les routeurs et les passerelles. Value : booléen.
-
SO_KEEPALIVE : autorise la transmission des paquets...