Socket OSerror 10060 怎么修改默认超时时间?

原始代码如下:

import socket
import time

sk=socket.socket(socket.AF_INET, socket.SOCK_STREAM)   #TCP连接
ip = input('>>>请输入IP:')
port =  int(input('>>>请输入端口:'))
error = sk.connect_ex((ip,port)) #连接1
conA = '连接失败'
conB = '连接成功'
conC = '错误代码:'

while (error >= 0):
 if error > 0:
     print(conA, conC, error)
     sk.close()
     time.sleep(0.5)
     sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     error = sk.connect_ex((ip, port))
 elif error == 0:
     print(conB, ip, port)
     sk.close()
     time.sleep(1)
     sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     error = sk.connect_ex((ip, port))

sk.close()



OSError 10060 默认20s实在太长了,想改短一点 如settimeout(1) 这样
测试了好多次setdefaulttimeout 均返回10035,请求大佬们给指点一些setdefaulttimeout 应该怎么去使用
版本Python 3.8.0

添加了setdefaulttimeout的效果:

import socket
import time

socket.setdefaulttimeout(0.5)
sk=socket.socket(socket.AF_INET, socket.SOCK_STREAM)   #TCP连接
sk.gettimeout()
ip = input('>>>请输入IP:')
port =  int(input('>>>请输入端口:'))
error = sk.connect_ex((ip,port))
conA = '连接失败'
conB = '连接成功'
conC = '错误代码:'

while (error >= 0):
 if error > 0:
     print(conA, conC, error)
     sk.close()
     time.sleep(0.5)
     sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     error = sk.connect_ex((ip, port))
 elif error == 0:
     print(conB, ip, port)
     sk.close()
     time.sleep(1)
     sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     error = sk.connect_ex((ip, port))

sk.close()

运行结果:
图片说明

本质上超时是10060,但是设置setdefaulttimeout后为10035,虽然我用的connect-ex 自由返回具体OSError代码,也是可以用,但是想还是返回10060实际代码,有什么办法可以设置setdefaulttimeout后,还是返回 10060超时代码吗?

https://blog.csdn.net/qq_26399665/article/details/52449709