请教各位大神,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
请教各位大神,如何解决。不胜感激。
同问
楼上解决没?