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

 iar2984165 发布于 2022-11-28 01:00

请教各位大神,phpkafkaconsume端如何取消息。
读取方法:
$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();thrownewKafka_Exception_Socket_EOF('Couldnotread'.$len.'bytesfromstream(nodata)');}if(strlen($chunk)===0){//ZerobytesbecauseofEOF?if(feof($this->stream)){$this->close();thrownewKafka_Exception_Socket_EOF('UnexpectedEOFwhilereading'.$len.'bytesfromstream(nodata)');}//Otherwisewaitforbytes$readable=@stream_select($read,$null,$null,$this->recvTimeoutSec,$this->recvTimeoutUsec);if($readable!==1){thrownewKafka_Exception_Socket_Timeout('Timedoutreadingsocketwhilereading'.$len.'byteswith'.$remainingBytes.'bytestogo');}continue;//attemptanotherread}$data.=$chunk;$remainingBytes-=strlen($chunk);}if($len===$remainingBytes||($verifyExactLength&&$len!==strlen($data))){//couldn'treadanythingatallORreachedEOFsoonerthanexpected$this->close();thrownewKafka_Exception_Socket_EOF('Read'.strlen($data).'bytesinsteadoftherequested'.$len.'bytes');}

抛出异常:Kafka_Exception_Socket_EOF:UnexpectedEOFwhilereading4bytesfromstream(nodata)#0

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

1 个回答
  • 如果是循环任务的话当kafka没有消息产生的时候,要sleep(1)继续查询队列!

    2022-11-28 02:16 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有