|
|
@@ -601,6 +601,7 @@ class TcpConnection extends ConnectionInterface
|
|
|
$this->_recvBuffer .= $buffer;
|
|
|
}
|
|
|
|
|
|
+ $recv_len = \strlen($this->_recvBuffer);
|
|
|
// If the application layer protocol has been set up.
|
|
|
if ($this->protocol !== null) {
|
|
|
$parser = $this->protocol;
|
|
|
@@ -608,7 +609,7 @@ class TcpConnection extends ConnectionInterface
|
|
|
// The current packet length is known.
|
|
|
if ($this->_currentPackageLength) {
|
|
|
// Data is not enough for a package.
|
|
|
- if ($this->_currentPackageLength > \strlen($this->_recvBuffer)) {
|
|
|
+ if ($this->_currentPackageLength > $recv_len) {
|
|
|
break;
|
|
|
}
|
|
|
} else {
|
|
|
@@ -623,7 +624,7 @@ class TcpConnection extends ConnectionInterface
|
|
|
break;
|
|
|
} elseif ($this->_currentPackageLength > 0 && $this->_currentPackageLength <= $this->maxPackageSize) {
|
|
|
// Data is not enough for a package.
|
|
|
- if ($this->_currentPackageLength > \strlen($this->_recvBuffer)) {
|
|
|
+ if ($this->_currentPackageLength > $recv_len) {
|
|
|
break;
|
|
|
}
|
|
|
} // Wrong package.
|
|
|
@@ -637,7 +638,7 @@ class TcpConnection extends ConnectionInterface
|
|
|
// The data is enough for a packet.
|
|
|
++self::$statistics['total_request'];
|
|
|
// The current packet length is equal to the length of the buffer.
|
|
|
- if (\strlen($this->_recvBuffer) === $this->_currentPackageLength) {
|
|
|
+ if ($recv_len === $this->_currentPackageLength) {
|
|
|
$one_request_buffer = $this->_recvBuffer;
|
|
|
$this->_recvBuffer = '';
|
|
|
} else {
|