首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
使用协程批量发送请求小部分出现 Connection reset by peer 错误
### 问题描述 创建300个协程同时请求接口,小部分出现Connection reset by peer错误 ### Swoole版本,PHP版本,以及操作系统版本信息 swoole 4.8+ php 7.2 ### 相关代码 ```php Runtime::enableCoroutine($flags = SWOOLE_HOOK_CURL); run(function () { $url = parse_url($url); $domain = $url['host']; $client = new Client($domain, 443,true); $client->setHeaders(array_merge([ 'Host' => $domain, 'User-Agent' => 'Chrome/49.0.2587.3', 'Accept-Encoding' => 'gzip', ],$header)); $client->set([ 'timeout' => 100 ]); $client->get($url['path']); $data = $client->body; $errorCode = swoole_last_error(); $client->close(); if($errorCode){ echo swoole_strerror($errorCode,9); } return $data; }); ``` ### 你期待的结果是什么?实际看到的错误信息又是什么? 错误 Connection reset by peer
发布于2年前 · 16 次浏览 · 来自
提问
li321
### 问题描述 创建300个协程同时请求接口,小部分出现Connection reset by peer错误 ### Swoole版本,PHP版本,以及操作系统版本信息 swoole 4.8+ php 7.2 ### 相关代码 ```php Runtime::enableCoroutine($flags = SWOOLE_HOOK_CURL); run(function () { $url = parse_url($url); $domain = $url['host']; $client = new Client($domain, 443,true); $client->setHeaders(array_merge([ 'Host' => $domain, 'User-Agent' => 'Chrome/49.0.2587.3', 'Accept-Encoding' => 'gzip', ],$header)); $client->set([ 'timeout' => 100 ]); $client->get($url['path']); $data = $client->body; $errorCode = swoole_last_error(); $client->close(); if($errorCode){ echo swoole_strerror($errorCode,9); } return $data; }); ``` ### 你期待的结果是什么?实际看到的错误信息又是什么? 错误 Connection reset by peer
赞
1
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2022-09-17
Rango
可能超过了服务端允许的并发数量,连接被服务端重置了,可以减小并发继续测试。找到合理的并发数量。
赞
0
回复
2022-09-20
li321
回复
Rango
好的,谢谢了
赞
0
回复
微信公众号
热门内容
暂无回复的问答
- CodeGalaxy K3s 轻量集群节点之间如何实现负载均衡
- 关于openssl CURL WARNING swSSL_connect: SSL_connect(fd=69) failed. Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small[1|394]
- 多个模型如何进行事务异常回退?
- websocket开启wss报错
- 协程tcp服务器如何使用多进程?recv()方法接收信息,打印出来的pid一直是同一个。没用使用到多进程啊。