在命令行模式下运行Dart时,我有一个有趣的问题-它太快了!
情况是,代码必须访问网站并检索可下载的文件列表,然后下载每个文件以写入本地磁盘。
问题是,每个下载操作都是异步运行的,下载开始失败,并出现类似“SocketException: OS Error: The semaphore timeout the has expired.‘”这样的错误。和‘连接在收到完整的报头之前关闭’。就我所能确定的是,我的PC上的操作系统无法打开所有需要的连接,或者web服务器可能已被淹没。
我应该如何更改设计以限制同时建立的连接数量?