From cfbea3a02ebecf59a30b3878f6846ba21f96431c Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Sun, 12 Oct 2014 11:30:17 +0200 Subject: [PATCH] asyncio doc: clarify how servers create protocol instances --- Doc/library/asyncio-protocol.rst | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Doc/library/asyncio-protocol.rst b/Doc/library/asyncio-protocol.rst index d2f1369de10..66524c1c181 100644 --- a/Doc/library/asyncio-protocol.rst +++ b/Doc/library/asyncio-protocol.rst @@ -446,7 +446,7 @@ TCP echo client example, send data and wait until the connection is closed:: import asyncio - class EchoClient(asyncio.Protocol): + class EchoClientProtocol(asyncio.Protocol): message = 'This is the message. It will be echoed.' def connection_made(self, transport): @@ -461,7 +461,7 @@ TCP echo client example, send data and wait until the connection is closed:: asyncio.get_event_loop().stop() loop = asyncio.get_event_loop() - coro = loop.create_connection(EchoClient, '127.0.0.1', 8888) + coro = loop.create_connection(EchoClientProtocol, '127.0.0.1', 8888) loop.run_until_complete(coro) loop.run_forever() loop.close() @@ -481,7 +481,7 @@ TCP echo server example, send back received data and close the connection:: import asyncio - class EchoServer(asyncio.Protocol): + class EchoServerClientProtocol(asyncio.Protocol): def connection_made(self, transport): peername = transport.get_extra_info('peername') print('Connection from {}'.format(peername)) @@ -498,7 +498,8 @@ TCP echo server example, send back received data and close the connection:: self.transport.close() loop = asyncio.get_event_loop() - coro = loop.create_server(EchoServer, '127.0.0.1', 8888) + # Each client connection will create a new protocol instance + coro = loop.create_server(EchoServerClientProtocol, '127.0.0.1', 8888) server = loop.run_until_complete(coro) # Server requests until CTRL+c is pressed @@ -575,7 +576,7 @@ method, send back received data:: import asyncio - class EchoServerClientProtocol: + class EchoServerProtocol: def connection_made(self, transport): self.transport = transport @@ -587,8 +588,9 @@ method, send back received data:: loop = asyncio.get_event_loop() print("Starting UDP server") + # One protocol instance will be created to serve all client requests listen = loop.create_datagram_endpoint( - EchoServerClientProtocol, local_addr=('127.0.0.1', 9999)) + EchoServerProtocol, local_addr=('127.0.0.1', 9999)) transport, protocol = loop.run_until_complete(listen) try: