$worker->onMessage回调发送数据的问题

codeninjia

$worker->onMessage回调事件里,我调用$connection->send 发送数据
,如果我不主动关闭连接的话是等,数据发送完成之后自动就关了,还是必须客户端来关闭才行。

2747 1 0
1个回答

latin

如果workerman和客户端都不调用close,那么就会一直连着,理论上是这样。
但是实际你知道的,路由节点会定时清除不活跃的连接,连接长时间不通讯就被路由节点清除了,
所以过一会儿连接会被路由节点清理导致断开

  • codeninjia 2017-11-08

    如果是workerman。send成功之后我直接关闭连接,可能导致客户端其实没接受全数据吧,因为send成功并不代表客户端真的取数据成功,所以我觉得这块还是由客户端来控制关闭比较好。

  • latin 2017-11-08

    比如send的瞬间客户端关闭了连接确实会这样,实际上没成功

  • codeninjia 2017-11-09

    @998:对啊所以我觉得还是客户端来控制比较好。判断包接完了就自己关了。

年代过于久远,无法发表回答
🔝