【发布时间】:2020-03-07 00:23:36
【问题描述】:
我创建了一个 python 客户端,它创建多个套接字来从服务器上传/下载文件。 我多次注意到,当一次下载太多数据时,我的路由器重新启动并且我的互联网离线大约 3 分钟。我已经读过,当超出带宽限制时会发生这种情况。如何为当时打开的所有套接字设置带宽限制?
我可以找到这个:https://pypi.org/project/aiothrottle/ 但是当使用这个模块时,我不能再使用我的 sockets 模块,需要使用 aiohttp,这对我来说意味着重新创建我的洞 python 客户端。
# simplified version of my code #
import socket
ip = "1.1.1.1"
port = 8080
def start():
mysocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
mysocket.connect((ip, port))
mysocket.send(str.encode("GET " + "Data" + "HTTP/1.1 \r\n"))
mysocket.sendto(str.encode("GET " + "Data" + "HTTP/1.1 \r\n"), (ip, port))
except socket.error:
print("e")
mysocket.close()
while i in range(4): # here I am creating multiple sockets to upload/download data from different hosts
t = Thread(target=start)
t.start()
如何更改代码以使包含套接字的线程都不会超过带宽限制?
【问题讨论】:
标签: python networking bandwidth