heartbeat_idle_time到了以后Socket断开但是worker没有onClose事件触发

心跳包超时后服务器断开socket,worker onClose不触发,用netstat看变成了FIN_WAIT_2,这个要怎么解决呢?系统是mac os 10.10

更新:

通过只是设置heartbeat_idle_time以及通过timer主动调用heartbeat的方法获得超时的fd发现了一个很奇怪的现象:

假设连接的时候client的fd是1,调用heartbeat的时候返回超时的fd是7 结果直接导致无法close这个fd

2015-03-09 11:55
0
0

猫粮

赞同来自:

PHP 信息:

PHP 5.5.14 (cli) (built: Sep 9 2014 19:09:25) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

用的是swoole1.7.0版

2015-03-09 13:29
0

韩天峰 - 关注外星人

赞同来自:

1.7.10确实存在此BUG,已经在1.7.11版本进行了修复。

2015-03-10 14:50

要回复问题请先登录注册