salvador2001 Posted November 7, 2006 Share Posted November 7, 2006 Hello,I have this script and its working fine, but there is one thing i would like to change.When the server wich i am scanning is not online (shutted down completely) it takes 30 seconds until it shows the offline status.I would like to decrease this to 2 to 5 seconds and let the script the server is down.Can anyone tell me what i have to do, please a bit specific because i have poor knowledgde.[code]<?php set_time_limit(0); $s_port = 12203; // Serverport $s_ip = "82.217.212.106"; // Server-IP $timeout = 2; // CONN WRITE READ [1] $s_con = fsockopen("udp://".$s_ip, $s_port,$errno, $errstr, $timeout); // $s_con == false if fsockopen failed if(!$s_con) die(msg_server('Unable to connect with fsockopen [1];; '.$errstr)); // fwrite return false on write error, else it return how many bytes written if(fwrite($s_con, "ÿÿÿÿ". chr (0x02). "getstatus". chr (0x00))===FALSE) die(msg_server('Unable to write to $_con [1]')); // fread return false on read error, else it return the read string if(($ffb = fread($s_con,4))===FALSE) die(msg_server('Unable to read from $_con after write. [1]')); // stream_get_meta_data is same as socket_get_status $meta_data = stream_get_meta_data($s_con); if($meta_data["unread_bytes"]==0) die(msg_server('server DOWN')); $beginnen = fread($s_con, $meta_data['unread_bytes']); fclose($s_con); $data = explode("\n", $beginnen); // Serverinfo // CONN WRITE READ [2] $s_con = fsockopen("udp://".$s_ip, $s_port,$errno, $errstr, $timeout); if(!$s_con) die(msg_server('Unable to connect with fsockopen [2];; '.$errstr)); if(fwrite($s_con, "ÿÿÿÿ". chr (0x02). "getstatus". chr (0x00))===FALSE) die(msg_server('Unable to write to $_con [2]')); // bytes lezen en verbindingsopbouw if(($ffb = fread($s_con,4))===FALSE) die(msg_server('Unable to read from $_con after write. [2]')); $meta_data = stream_get_meta_data($s_con); if($meta_data["unread_bytes"] == 0) die(msg_server('No data, sorry. ('.$ffb.')')); $beginnen = fread($s_con, $meta_data['unread_bytes']); fclose($s_con); msg_server('server ACTIVE'); function msg_server($server_status,$errmsg=''){ echo "<div class='scanner' id='hoofd'> <div class='picture'><img src='sc-moh.gif' alt='1' /></div> <div class='status'>$server_status</div></div>"; } ?>[/code] Link to comment https://forums.phpfreaks.com/topic/26482-decreasing-scan-time/ Share on other sites More sharing options...
btherl Posted November 8, 2006 Share Posted November 8, 2006 http://sg.php.net/manual/en/function.fsockopen.phpreferences the stream_set_timeout() function, which looks like what you want. Link to comment https://forums.phpfreaks.com/topic/26482-decreasing-scan-time/#findComment-121354 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.