For networkthe same operationpythonThe magic is online does not mean there is always something to do and nothing to do. In the online era, as long as someone is humble, in contrast, if you hear asynchronousPython, all problems with network code can be solved through asynchronousio. You have not correctly understood that we need to deal with Socket Because if you need to wait for socket data, you can use asynchronous IO. For example, we can check whether the socket can be used for operations before calling the socket() method to send data. There is no need to wait for the response to come back to us because python interprets the loop ourselves. After using the socket() method, you can immediately return the socket object and then whenever you check whether the socket can send data, if it can, we use the send() method to send data
Requires socket support
Because we use sockets we have to be more advanced. We need to make sure that the Python version uses the socket module because this is our basic building block in the python standard library because the socket module ensures that we can run on any socket supported operating system To work we also need the socket module to ensure that we can work on any operating system with socket support. We also need the socket module to ensure that the socket module can only be used when making an actual socket connection. But don't worry this will never happen because the Python interpreter loop will ensure that The socket module is always available
Asynchronous sockets
We have seen why we need socket support. Now let’s look at how sockets can help us in our task. As we highlighted before in the first example, we must explicitly instruct Python to interpret the loop. You must check whether the socket is present before processing the socket data. The operation can be performed because we don't have to wait for the response to come back to us because the Python interpretation loop will ensure that the socket module is always available. We do not need to wait for the socket to operate because the Python interpretation loop will ensure that the socket module is always available.
async and await
Python interpretation loop has two built-in methods asynchronous and await asynchronous represents an asynchronous task. For example, in the above example, we can wait for the connection to complete instead of establishing the connection immediatelyString It is a built-in method await that is responsible for actual work. await represents a waiting function. For example, in the above example, we need to call the connect() method to perform actual work.
example
The following example shows how to use asyncio to create a socket connection
import socket import selectors async def connect(): sock = socket() sock = sock() sel = selectors() sel = sel() sel = sel() sel = sel() sel = sel() sel = sel()
Summarize
Asynchronous IO is a way to help us perform socket operations without waiting for the response to come back to us. This method uses the selector method to asynchronously call the connect() method and then waits for the result to return through await before doing other work
The above is the detailed content of Python asynchronous programming: Revealing the essence of asynchronous programming, from entry to mastery. For more information, please follow other related articles on the PHP Chinese website!