且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

python设定并获取默认的套接字超时时间

更新时间:2022-09-21 23:39:08

  当需要处理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打印输入类型对应多列,是一一相互对应的


代码如下:

1
2
3
4
5
6
7
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()


运行结果如下:

python设定并获取默认的套接字超时时间




本文转自 yuri_cto 51CTO博客,原文链接:http://blog.51cto.com/laobaiv1/1956800,如需转载请自行联系原作者