TcpConnection.php 源码中
if ($buffer === '' || $buffer === false) {
if ($check_eof && (feof($socket) || !is_resource($socket) || $buffer === false)) {
$this->destroy();
return;
}
} else {
$this->bytesRead += strlen($buffer);
$this->_recvBuffer .= $buffer;
}
把$buffer = '';这种情况忽略了,请教
问题一:哪些情况会造成fread为空即$buffer = ''?
问题二:workerman是否无法判断断电情况?
连接断开的时候$buffer = ''
不仅是workerman,其它socket服务都无法即时检测断电的情况,断电断网这种极端情况都是用心跳来检测的。
谢谢大大秒回,既然连接断开时为空,为什么不直接destory()呢,为什么$buffer=false;要destory()呢?
为空也destroy
好的,我再想想,谢谢walkor大大