
上QQ阅读APP看书,第一时间看更新
How to do it...
You can make an instance of a socket object and call a gettimeout() method to get the default timeout value and the settimeout() method to set a specific timeout value. This is very useful in developing custom server applications.
We first create a socket object inside a test_socket_timeout() function. Then, we can use the getter/setter instance methods to manipulate timeout values.
Listing 1.6 shows socket_timeout as follows:
#!/usr/bin/env python # Python Network Programming Cookbook, Second Edition -- Chapter - 1 # This program is optimized for Python 2.7.12 and Python 3.5.2. # It may run on any other version with/without modifications. import socket def test_socket_timeout(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print ("Default socket timeout: %s" %s.gettimeout()) s.settimeout(100) print ("Current socket timeout: %s" %s.gettimeout()) if __name__ == '__main__': test_socket_timeout()
After running the preceding script, you can see how this modifies the default socket timeout as follows:
$ python 1_6_socket_timeout.py Default socket timeout: None Current socket timeout: 100.0