Cml\Vendor\PhpThread::processTask PHP Method

processTask() private method

处理任务
private processTask ( array &$task )
$task array 任务信息
    private function processTask(&$task)
    {
        $read = $write = [$task['socket']];
        $n = stream_select($read, $write, $e = null, $this->timeout);
        if ($n > 0) {
            switch ($task['status']) {
                case 0:
                    // ready
                    fwrite($task['socket'], "GET {$task['path']} HTTP/1.1\r\nHost: {$task['host']}\r\n\r\n");
                    $task['status'] = 1;
                    break;
                case 1:
                    // active
                    $data = fread($task['socket'], $this->readDataLen);
                    if (strlen($data) == 0) {
                        fclose($task['socket']);
                        echo "Failed to connect {$task['host']}.<br />\n";
                        $task['status'] = -1;
                    } else {
                        $task['status'] = 2;
                        $task['response'] .= $data;
                    }
                    break;
            }
        }
    }