2009-11-19 2 views
5

오늘 나는 목적지 소켓이 혼합 된 상태에서 php fwrite가 실패했음을 알았습니다. SYN_SENT에 갇혀있는 수많은 연결이 있었고 겉으로보기에는 실패로 돌아 오지 않았습니다.PHP fwrite의 초기 오류 감지

x 비트가 와이어를 통해 전송되지 않은 경우이를 감지하고 연결을 시간 종료하는 가장 좋은 방법은 무엇입니까?

답변

2

나는 당신이 stream_set_timeout를 찾고 있다고 생각합니다. 예 :

$info = stream_get_meta_data($fp); 
// $info['timed_out'] == true : time-out has happened 
:

stream_set_timeout($fp, 2); 
fwrite($fp, "GET/HTTP/1.0\r\n\r\n"); 

당신은 시간 제한이 스트림의 메타 데이터를 확인하여 발생 여부를 확인할 수 있습니다