本文整理汇总了PHP中PHPParser::cleanSessions方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPParser::cleanSessions方法的具体用法?PHP PHPParser::cleanSessions怎么用?PHP PHPParser::cleanSessions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPParser
的用法示例。
在下文中一共展示了PHPParser::cleanSessions方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: main
private function main()
{
while ($this->isRunning === TRUE) {
// Setup our listen arrays
$sockReads = $sockWrites = $socketExcept = array();
if (!$this->isWindows) {
$sockReads[] = STDIN;
}
// Add host sockets to the arrays as needed
// While at it, check if we need to connect to any of the hosts.
$this->hosts->getSelectableSockets($sockReads, $sockWrites);
// Add http sockets to the arrays as needed
$this->http->getSelectableSockets($sockReads, $sockWrites);
// Add telnet sockets to the arrays as needed
$this->telnet->getSelectableSockets($sockReads, $sockWrites);
// Update timeout if there are timers waiting to be fired.
$this->updateSelectTimeOut($this->sleep, $this->uSleep);
# Error suppression used because this function returns a "Invalid CRT parameters detected" only on Windows.
$numReady = @stream_select($sockReads, $sockWrites, $socketExcept, $this->sleep, $this->uSleep);
// Keep looping until you've handled all activities on the sockets.
while ($numReady > 0) {
$numReady -= $this->hosts->checkTraffic($sockReads, $sockWrites);
$numReady -= $this->http->checkTraffic($sockReads, $sockWrites);
$numReady -= $this->telnet->checkTraffic($sockReads, $sockWrites);
// KB input
if (in_array(STDIN, $sockReads)) {
$numReady--;
$kbInput = trim(fread(STDIN, STREAM_READ_BYTES));
// Split up the input
$exp = explode(' ', $kbInput);
// Process the command (the first char or word of the line)
switch ($exp[0]) {
case 'c':
console(sprintf('%32s - %64s', 'COMMAND', 'DESCRIPTOIN'));
foreach ($this->plugins->getPlugins() as $plugin => $details) {
foreach ($details->sayCommands as $command => $detail) {
console(sprintf('%32s - %64s', $command, $detail['info']));
}
}
break;
case 'h':
console(sprintf('%14s %28s:%-5s %8s %22s', 'Host ID', 'IP', 'PORT', 'UDPPORT', 'STATUS'));
foreach ($this->hosts->getHostsInfo() as $host) {
$status = ($host['connStatus'] == CONN_CONNECTED ? '' : ($host['connStatus'] == CONN_VERIFIED ? 'VERIFIED &' : ' NOT')) . ' CONNECTED';
$socketType = $host['socketType'] == SOCKTYPE_TCP ? 'tcp://' : 'udp://';
console(sprintf('%14s %28s:%-5s %8s %22s', $host['id'], $socketType . $host['ip'], $host['port'], $host['udpPort'], $status));
}
break;
case 'I':
console('RE-INITIALISING PRISM...');
$this->initialise(NULL, NULL);
break;
case 'p':
console(sprintf('%28s %8s %24s %64s', 'NAME', 'VERSION', 'AUTHOR', 'DESCRIPTION'));
foreach ($this->plugins->getPlugins() as $plugin => $details) {
console(sprintf("%28s %8s %24s %64s", $plugin::NAME, $plugin::VERSION, $plugin::AUTHOR, $plugin::DESCRIPTION));
}
break;
case 'x':
$this->isRunning = FALSE;
break;
case 'w':
console(sprintf('%15s:%5s %5s', 'IP', 'PORT', 'LAST ACTIVITY'));
foreach ($this->http->getHttpInfo() as $v) {
$lastAct = time() - $v['lastActivity'];
console(sprintf('%15s:%5s %13d', $v['ip'], $v['port'], $lastAct));
}
console('Counted ' . $this->http->getHttpNumClients() . ' http client' . ($this->http->getHttpNumClients() == 1 ? '' : 's'));
break;
default:
console('Available Commands:');
console(' h - show host info');
console(' I - re-initialise PRISM (reload ini files / reconnect to hosts / reset http socket');
console(' p - show plugin info');
console(' x - exit PHPInSimMod');
console(' w - show www connections');
console(' c - show command list');
}
}
}
// End while(numReady)
// No need to do the maintenance check every turn
if ($this->nextMaintenance > time()) {
continue;
}
$this->nextMaintenance = time() + MAINTENANCE_INTERVAL;
if (!$this->hosts->maintenance()) {
$this->isRunning = FALSE;
}
$this->http->maintenance();
PHPParser::cleanSessions();
}
// End while(isRunning)
}