Python example
Now, let us look at a specific Python example that implements a server that facilitates asynchronous communication. Download the code for this book from the GitHub page (https://github.com/PacktPublishing/Mastering-Concurrency-in-Python), and navigate to the Chapter18 folder.
Starting a server
In the Chapter18/example1.py file, let's look at the EchoServerClientProtocol class, as follows:
# Chapter18/example1.py
import asyncio
class EchoServerClientProtocol(asyncio.Protocol):
def connection_made(self, transport):
peername = transport.get_extra_info('peername')
print('Connection from {}'.format(peername))
self.transport = transport
def data_received(self, data):
message = data.decode()
print('Data received: {!r}'.format(message))Here, our EchoServerClientProtocol class is a subclass of asyncio.Protocol. As we discussed earlier, inside of this class, we need to implement the connection_made(transport) and data_received(data) methods...