当前位置: 首页>>代码示例>>PHP>>正文


PHP PHPParser::cleanSessions方法代码示例

本文整理汇总了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)
 }
开发者ID:NochEinKamel,项目名称:PRISM,代码行数:94,代码来源:PHPInSimMod.php


注:本文中的PHPParser::cleanSessions方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。