首页
下载
文档
问答社区
视频
捐赠
源代码
AI 助理
赞助商
CRMEB
Apipost
腾讯云
微擎
禅道
51Talk
商业产品
Swoole AI 智能文档翻译器
Swoole-Compiler PHP 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
异步客户端调用close连接不会被关闭
### 问题描述 开发过程中发现此问题,用最简单的server和client代码复现,client连接成功后调用close连接无法关闭 ### Swoole版本,PHP版本,以及操作系统版本信息 swoole 4.4.2 php 7.7.20 linux ### 相关代码 ```php //服务端代码 $serv = new Swoole\Server('0.0.0.0', 9999, SWOOLE_BASE, SWOOLE_SOCK_TCP); $serv->on('connect', function ($serv, $fd){ echo "Client:Connect.\n"; }); $serv->on('receive', function ($serv, $fd, $from_id, $data) { }); $serv->on('close', function ($serv, $fd) { echo "Client: Close.\n"; }); $serv->start(); //客户端代码 $client = new swoole_client(SWOOLE_TCP | SWOOLE_ASYNC); $client->on("connect", function(swoole_client $cli) { echo "aaaa\n"; $cli->close(); }); $client->on("receive", function(swoole_client $cli, $data){ }); $client->on("error", function(swoole_client $cli){ echo "error\n"; }); $client->on("close", function(swoole_client $cli){ echo "Connection close\n"; }); $client->connect('0.0.0.0', 9999); ``` ### 你期待的结果是什么?实际看到的错误信息又是什么?
发布于4年前 · 1 次浏览 · 来自
提问
yiyi
### 问题描述 开发过程中发现此问题,用最简单的server和client代码复现,client连接成功后调用close连接无法关闭 ### Swoole版本,PHP版本,以及操作系统版本信息 swoole 4.4.2 php 7.7.20 linux ### 相关代码 ```php //服务端代码 $serv = new Swoole\Server('0.0.0.0', 9999, SWOOLE_BASE, SWOOLE_SOCK_TCP); $serv->on('connect', function ($serv, $fd){ echo "Client:Connect.\n"; }); $serv->on('receive', function ($serv, $fd, $from_id, $data) { }); $serv->on('close', function ($serv, $fd) { echo "Client: Close.\n"; }); $serv->start(); //客户端代码 $client = new swoole_client(SWOOLE_TCP | SWOOLE_ASYNC); $client->on("connect", function(swoole_client $cli) { echo "aaaa\n"; $cli->close(); }); $client->on("receive", function(swoole_client $cli, $data){ }); $client->on("error", function(swoole_client $cli){ echo "error\n"; }); $client->on("close", function(swoole_client $cli){ echo "Connection close\n"; }); $client->connect('0.0.0.0', 9999); ``` ### 你期待的结果是什么?实际看到的错误信息又是什么?
赞
0
分享
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
评论
2020-08-13
鲁飞
请使用同步阻塞的client或者协程client
赞
0
回复
微信公众号
热门内容
作者其它话题
- 协程TCP客户端connect域名解析问题
- 定时器tick函数存在协程api时,下个定时器不会等待前一个执行完成吗?
- TCP异步客户端和TCP协程客户端的疑问
- heartbeat_idle_time、heartbeat_check_interval但不触发onclose的必现代码
- 设置了heartbeat_idle_time、heartbeat_check_interval但不触发onclose
暂无回复的问答
- 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一直是同一个。没用使用到多进程啊。