|
|
@@ -21,32 +21,40 @@ class Server extends Controller
|
|
|
*/
|
|
|
protected function main()
|
|
|
{
|
|
|
- while (true){
|
|
|
+ $i=0;
|
|
|
+ while (true) {
|
|
|
$data = ServerTable::select();
|
|
|
foreach ($data as $val) {
|
|
|
$ip = $val['ip'];
|
|
|
$port = $val['port'];
|
|
|
$status = $this->check($ip, $port);
|
|
|
- if ($val['status'] != $status) {
|
|
|
- ServerTable::update(['status' => $status], ['id' => $val['id']]);
|
|
|
+ if ($status == 1) {
|
|
|
+ echo $ip . "\t可用\r\n";
|
|
|
}
|
|
|
}
|
|
|
+ if ($val['status'] != $status) {
|
|
|
+ ServerTable::update(['status' => $status], ['id' => $val['id']]);
|
|
|
+ }
|
|
|
+ echo "第".$i."次执行完毕\r\n";
|
|
|
sleep(60);
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- /**
|
|
|
- * @param string $ip ip
|
|
|
- * @param int $port 端口
|
|
|
- * @return int 返回状态
|
|
|
- */
|
|
|
- public function check($ip, $port)
|
|
|
- {
|
|
|
- $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
|
|
|
- socket_set_nonblock($sock);
|
|
|
- socket_connect($sock, $ip, $port);
|
|
|
- socket_set_block($sock);
|
|
|
- $status = socket_select($r = array($sock), $w = array($sock), $f = array($sock), 2);
|
|
|
- return $status;
|
|
|
}
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * @param string $ip ip
|
|
|
+ * @param int $port 端口
|
|
|
+ * @return int 返回状态
|
|
|
+ */
|
|
|
+public
|
|
|
+function check($ip, $port)
|
|
|
+{
|
|
|
+ $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
|
|
|
+ socket_set_nonblock($sock);
|
|
|
+ socket_connect($sock, $ip, $port);
|
|
|
+ socket_set_block($sock);
|
|
|
+ $status = socket_select($r = array($sock), $w = array($sock), $f = array($sock), 2);
|
|
|
+ return $status;
|
|
|
+}
|
|
|
}
|