发布时间:2019-09-20 07:39:14编辑:auto阅读(3719)
有时候写python关于网络的程序。比如用urllib2等module发http请求的时候,发现有时候会有死掉的情况,就是程序没任何反应,也不是cpu,内存没资源的问题。具体情况还没搞明白那里出的问题,但是找到一个解决办法。就是设置socket time out,即:如果一个请求超过一定的时间没有完成,就终止,再次发起请求。
这个是从2.3有的功能用法如下:
settimeout( value)
Set a timeout on blocking socket operations. The value argument can be a nonnegative float expressing seconds, or None. If a float is given, subsequent socket operations will raise an timeout exception if the timeout period value has elapsed before the operation has completed. Setting a timeout of None disables timeouts on socket operations. s.settimeout(0.0) is equivalent to s.setblocking(0); s.settimeout(None) is equivalent to s.setblocking(1). New in version 2.3.
就是settimeout()里面填一个数值。小心别太小,别正常的请求也不能完成。
上一篇: Python 史话
下一篇: Python + PyQt4 实现记事本
54111
40867
35379
31031
25920
25654
24100
19627
15702
15178
1934°
1769°
1866°
1945°
1939°
2118°
2068°
1890°
1975°
1959°