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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python设定并获取默认的套接字超时时间相关的知识,希望对你有一定的参考价值。

   当需要处理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()


运行结果如下:

技术分享



本文出自 “老白的博客” 博客,请务必保留此出处http://laobaiv1.blog.51cto.com/2893832/1956800

以上是关于python设定并获取默认的套接字超时时间的主要内容,如果未能解决你的问题,请参考以下文章

python3套接字udp设置接受数据超时

如何设定ClientSocket的超时时间。

如何为默认的swagger android客户端设置连接和套接字超时

在 python thrift 客户端中设置套接字的连接和读取超时

Android 上 DefaultHttpClient 中连接和套接字超时的默认值是啥?

C: 套接字连接超时