2009-11-19 13 views
5

में प्रारंभिक विफलता का पता लगाने से पहले मैंने देखा कि गंतव्य सॉकेट मिश्रित स्थिति में विफल होने के कारण php fwrite को विफल करने के लिए कुछ कॉल दिखाई दे रही थीं। SYN_SENT में फंस गए कई कनेक्शन थे और असफलताओं के रूप में वापस नहीं आ रहे थे।php fwrite

यह पता लगाने का सबसे अच्छा तरीका क्या है और यदि तार बिट्स तार पर थोड़ा संचरित नहीं होता है तो कनेक्शन को बस समय निकाल दें?

उत्तर

2

मुझे विश्वास है कि आप 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