當需要處理socket庫某些屬性的默認值,例如套接字超時時間。你可以創建一個套接字對象實例,調用settimeout()法設定一個超時時間,在調用gettimeout()方法獲取默認的超時時間。這種操作在開發服務器應用時很有用。
技術點解析:
1、定義socket_timeout()函數,注意函數縮進格式。
2、socket庫中的類函數創建一個套接字對象
使用socket.socket(socket.AF_INET,socket.SOCK_STREAM)首先創建了一個套接字對象socket() -- create a new socket object socket.AF_INET 套接字構造方法的第一個參數是地址族 ,socket.SOCK_STREAM 參數是套接字類型
3、套接字操作函數
gettimeout() 調用此函數獲取套接字超時時間(參數使用的是秒數,也可以是 None 如果把超時時間設爲None,則禁用了套接字操作的超時檢測)
settimeout() 調用此函數修改套接字超時時間
這個方法在處理阻塞式套接字操作時使用
4、測試只是爲了驗證設定的時間而已
5、print打印輸入類型對應多列,是一一相互對應的
代碼如下:
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()) test_socket_timeout()
運行結果如下: