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