포럼
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
서버와 연결이되는지 확인하려는데 fsockopen..
2013.05.29 12:43
안녕하세요. 다름아닌 서버의 mysql과 연결이 되는상태인지 확인하는 부분을 만들고잇는데요.
$this->ip = gethostbyname('주소');
if($this->ip == NULL) return false;
$this->fSock = @fsockopen($this->ip, $this->port);
if(!$this->fSock){
return false;
}
지금 요런식으로 짜여져잇거든요.
그저 아이피와 3306포트로 열어보는것
근데 이게 상대서버가 꺼져잇다던지하면 상당히 오래돌아가더라구요.
뭐 좋은방법 없을까요?
fsockopen() 함수의 5번째 인자가 Timeout 시간을 결정하는데요. 지정한 시간내에 응답이 없으면 자동으로 접속을 종료한다는 의미입니다. 따로 값을 입력하지 않으면 60초동안 계속 연결을 시도합니다.
$this->fSock = @fsockopen($this->ip, $this->port, $errno, $errstr, 10);
이렇게 하면 10초 동안 접속을 시도해보다가 안되면 연결을 끊습니다. 10 대신에 다른 숫자를 넣어도 되겠죠.