开发者

PHp fsockopen() communicating via Telnet

I'm looking for a guide on how to use fsockopen() to communicate with a telnet system.... I'm connected just fine, but the command is failing to send. I've seen some documentation fwrite() that shows people sending some headers.

Currently the command I'm running against the telnet server is version via $class->send("version");. Do I need to send headers or anything along with this for the telnet server to pick up the command, or can I just send that?

/**
 * Connect to the GMC telnet system
 */
public function connect () {
    $this->connection = fsockopen($this->socket['host'], $this->socket['port'], $errorNumber, $errorMessage, 30);
    if (!$this->connection) {
        $this->error = 'Unable to connect to GMC: '.$errorMessage.' ('.$errorNumber.')';
        retur开发者_如何学Cn false;
    }
    stream_set_timeout($this->connection, $this->commandTimeout);
    return true;
}

/**
 * Send a command to GMC
 */
public function send ($command) {
    //write to socket
    if (fwrite($this->connection, $command) === false) {
        $this->error = 'Unable to write to socket';
        return false;
    }

    sleep(1);

    //read socket
    if (($response = fgets($this->connection)) === false) {
        $this->error = 'Unable to write to socket';
        return false;
    }

    return $response;
}

/**
 * Disconnects from the GMC telnet system
 */
public function disconnect () {
    return fclose($this->connection);
}


Apparently all I needed to do was be sure I included a \n at the end of my command!!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜