mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 02:15:10 +00:00 
			
		
		
		
	asyncio doc: clarify how servers create protocol instances
This commit is contained in:
		
							parent
							
								
									c7edffdddd
								
							
						
					
					
						commit
						cfbea3a02e
					
				
					 1 changed files with 8 additions and 6 deletions
				
			
		|  | @ -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: | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Victor Stinner
						Victor Stinner