【发布时间】:2015-02-25 07:45:35
【问题描述】:
php 的socket_select() 方法是否保证检测到所有客户端套接字断开连接?
我看过一些代码示例,它们使用 php 的 socket_select() 方法中的读取数组来检测客户端套接字断开连接,例如这个: How to detect client disconnection on PHP socket listener?
但是对于所有客户端套接字断开连接它是否返回 FALSE?如果有任何例外,它们是什么?
【问题讨论】:
-
为什么会有例外?
-
@hek2mgl 这不是我是否期望异常的问题。这是一个我应该期待例外的问题吗?
-
不,您不需要期待异常。我真的应该回答吗?!
-
@hek2mgl 如果是正确的,我会很高兴。但是你能支持你的回答来支持你的主张吗?
-
顺便说一句,我说的只有
FIN才能关闭连接是错误的。RST也是可能的。可能还有更多的方法?我没想到,但我不是超级 tcp 专家。但是我会说 socket_select() 会意识到这一点,因为底层内核处理低级 TCP。我希望内核能够正确实现 TCP,但是,嘿! :)