1. Le serveur web vu par Python
1.1 Couches basses
Écrire un serveur web avec Python est d'une simplicité proprement hallucinante. Voici pour un serveur TCP :
import SocketServer
tcp_server = SocketServer.TCPServer(('localhost', 8001), TcpHandler)
tcp_server.serve_forever()
Et maintenant pour un serveur UDP :
import SocketServer
upd_server = SocketServer.UDPServer(('localhost', 8002), UdpHandler)
udp_server.serve_forever()
Les deux extraits de code sont quasiment identiques. La question est en réalité de savoir à quoi vont servir ses serveurs. Le handler présent en tant que second paramètre est instancié pour chaque requête, et c'est à lui de dire quoi faire.
Il peut se contenter de répondre « Hello World », au hasard. Pour TcpHandler, cela donne :
class TcpHandler:(SocketServer.BaseRequestHandler):
def handle(self):
self.request.send('Hello World')
Pour UdpHandler, il y a des petites différences :
class UdpHandler:(SocketServer.BaseRequestHandler):
def handle(self):
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première