Home  >  Q&A  >  body text

php - Unexpected EOF while reading from stream KAFKA CONSUME读取消息出错

请教各位大神,php kafka consume端如何取消息。
读取方法:
$readable = @stream_select($read, $null, $null, $this->recvTimeoutSec, $this->recvTimeoutUsec);

    if ($readable > 0) {
        $remainingBytes = $len;
        $data = $chunk = '';
        while ($remainingBytes > 0) {
            $chunk = fread($this->stream, $remainingBytes);
            if ($chunk === false) {
                $this->close();
                throw new Kafka_Exception_Socket_EOF('Could not read '.$len.' bytes from stream (no data)');
            }
            if (strlen($chunk) === 0) {
                // Zero bytes because of EOF?
                if (feof($this->stream)) {
                    $this->close();
                    throw new Kafka_Exception_Socket_EOF('Unexpected EOF while reading '.$len.' bytes from stream (no data)');
                }
                // Otherwise wait for bytes
                $readable = @stream_select($read, $null, $null, $this->recvTimeoutSec, $this->recvTimeoutUsec);
                if ($readable !== 1) {
                    throw new Kafka_Exception_Socket_Timeout('Timed out reading socket while reading ' . $len . ' bytes with ' . $remainingBytes . ' bytes to go');
                }
                continue; // attempt another read
            }
            $data .= $chunk;
            $remainingBytes -= strlen($chunk);
        }
        if ($len === $remainingBytes || ($verifyExactLength && $len !== strlen($data))) {
            // couldn't read anything at all OR reached EOF sooner than expected
            $this->close();
            throw new Kafka_Exception_Socket_EOF('Read ' . strlen($data) . ' bytes instead of the requested ' . $len . ' bytes');
        }

抛出异常:Kafka_Exception_Socket_EOF: Unexpected EOF while reading 4 bytes from stream (no data) #0

请教各位大神,如何解决。不胜感激。

PHP中文网PHP中文网2771 days ago1633

reply all(1)I'll reply

  • 怪我咯

    怪我咯2017-04-11 10:02:22

    同问
    楼上解决没?

    reply
    0
  • Cancelreply