A non-blocking socket I/O
In this section, we will see a small example code snippet to test a non-blocking socket I/O. This is useful if you know that the synchronous blocking connection is not necessary for your program. The following is an example of non-blocking I/O:
import socket
if __name__ == '__main__':
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setblocking(0)
sock.settimeout(0.5)
sock.bind(("127.0.0.1", 0))
socket_address =sock.getsockname()
print("Asynchronous socket server launched on socket: %s" %str(socket_address))
while(1):
sock.listen(1)This script will run a socket server and listen in a non-blocking style. This means you can connect more clients who won't be necessarily blocked for I/O.