PHP脚本如何检测套接字已通过远程方已经closed?PHP脚本可以检测套接字是否已关闭?
回答
socket_read() returns the data as a string on success, or FALSE on error (including if the remote host has closed the connection). The error code can be retrieved with socket_last_error(). This code may be passed to socket_strerror() to get a textual representation of the error.
这是相当标准的做法,如果一个套接字在大多数语言封闭检测。我不相信PHP提供了一个直接的事件风格的通知(PEAR中可能除外)。
fread($socket)
返回空字符串,瞬间,无需等待套接字超时。
(不,这不是一个真正的答案,但是这是hackish的解决方案,我在我的代码ATM已经制定这种行为也可能是针对Windows的。)
这是大多数语言/平台,不只是PHP/Windows标准的行为。 – 2009-09-17 01:51:57
如果在连接打开时调用'fread($ socket)',返回什么? – 2009-09-17 02:10:24
无论等待读取什么数据 – 2009-09-17 02:59:31
- 1. Ruby:如何检测套接字的一侧是否已关闭
- 2. 检测COM端口是否已关闭
- 3. 检测Excel文件是否已关闭
- 4. java.net.SocketException套接字已关闭
- 5. 检测关闭的套接字
- 6. java.net.SocketException:套接字已关闭TCP连接
- 7. 检查数据库连接是否已关闭 - php
- 8. NIO - 检测已关闭的连接
- 9. 关闭ServerSocket - 如何正确检查客户端套接字是否关闭?
- 10. 检测mbstring是否启用PHP脚本
- 11. 检测Outlook检查器窗口是否已关闭
- 12. Android套接字异常“套接字已关闭”
- 13. 套接字例外:套接字已关闭
- 14. 用PHP关闭套接字连接
- 15. 检测文件已关闭
- 16. 检测SKShapedNode已关闭
- 17. 没有关闭被调用,本地端可以关闭套接字吗?
- 18. 检测非阻塞套接字上的关闭连接
- 19. 如何检查zipfile是否已关闭
- 20. 检查浏览器是否已关闭
- 21. Rabbit MQ python脚本。连接打开时套接字关闭
- 22. PHP:关闭套接字连接时,网页关闭
- 23. 是否可以关闭客户端和服务器端的Java套接字?
- 24. AJAX:检测连接关闭,PHP继续
- 25. 套接字是否没有EOF字符,除非写入套接字关闭?
- 26. 如何检测无模式CDialog是否已关闭?
- 27. 如何检测设备浏览器是否已关闭?
- 28. 检测启动的进程是否已关闭
- 29. 检测客户端的浏览器是否已关闭Cookie
- 30. 如果关闭ServerSocket,ServerSocket接受的套接字是否也会关闭?
这将在非阻塞模式下完成! – transilvlad 2012-12-19 11:13:07
@tntu:这是不正确的。如果没有数据(包括非阻塞模式),则返回''“''。这与“错误”是分开的和不同的。 – 2012-12-19 14:15:14
那么在阻塞模式下,它不会阻塞,直到它收到的东西,而不是只是检查连接是否关闭? – transilvlad 2012-12-19 16:35:57