相关疑难解决方法(0)

socket.shutdown vs socket.close

我最近看到了一些看起来像这样的代码(当然sock是一个套接字对象):

sock.shutdown(socket.SHUT_RDWR)
sock.close()
Run Code Online (Sandbox Code Playgroud)

在套接字上调用shutdown然后关闭它的目的究竟是什么?如果它有所不同,则此套接字用于非阻塞IO.

python sockets asynchronous

118
推荐指数
4
解决办法
13万
查看次数

使用Python和urllib2的源接口

如何使用Python和urllib2设置源IP /接口?

python urllib2

31
推荐指数
3
解决办法
2万
查看次数

关闭urllib2连接

我正在使用urllib2从ftp和http服务器加载文件.

某些服务器仅支持每个IP一个连接.问题是,urllib2不会立即关闭连接.看一下示例程序.

from urllib2 import urlopen
from time import sleep

url = 'ftp://user:pass@host/big_file.ext'

def load_file(url):
    f = urlopen(url)
    loaded = 0
    while True:
        data = f.read(1024)
        if data == '':
            break
        loaded += len(data)
    f.close()
    #sleep(1)
    print('loaded {0}'.format(loaded))

load_file(url)
load_file(url)
Run Code Online (Sandbox Code Playgroud)

代码从ftp-server加载两个文件(这里两个文件是相同的),只支持1个连接.这将打印以下日志:

loaded 463675266
Traceback (most recent call last):
  File "conection_test.py", line 20, in <module>
    load_file(url)
  File "conection_test.py", line 7, in load_file
    f = urlopen(url)
  File "/usr/lib/python2.6/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.6/urllib2.py", line 391, in open …
Run Code Online (Sandbox Code Playgroud)

python ftp connection urllib2

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×3

urllib2 ×2

asynchronous ×1

connection ×1

ftp ×1

sockets ×1