5
今天早些時候,我注意到一些調用php fwrite失敗,因爲目標套接字處於混合狀態。有很多連接停留在SYN_SENT中,並且看起來不會成爲失敗。在php中檢測早期失敗fwrite
如果x比特沒有通過線路傳輸,檢測這種情況並簡單地超時連接的最佳方法是什麼?
今天早些時候,我注意到一些調用php fwrite失敗,因爲目標套接字處於混合狀態。有很多連接停留在SYN_SENT中,並且看起來不會成爲失敗。在php中檢測早期失敗fwrite
如果x比特沒有通過線路傳輸,檢測這種情況並簡單地超時連接的最佳方法是什麼?
我相信你正在尋找stream_set_timeout
。舉個例子:
stream_set_timeout($fp, 2);
fwrite($fp, "GET/HTTP/1.0\r\n\r\n");
您可以檢查超時是否發生通過檢查數據流的元數據:
$info = stream_get_meta_data($fp);
// $info['timed_out'] == true : time-out has happened