walkor 10 жил өмнө
parent
commit
63bf72ad63

+ 24 - 14
Workerman/Connection/TcpConnection.php

@@ -200,6 +200,8 @@ class TcpConnection extends ConnectionInterface
             {
             {
                 // 未发送成功部分放入发送缓冲区
                 // 未发送成功部分放入发送缓冲区
                 $this->_sendBuffer = substr($send_buffer, $len);
                 $this->_sendBuffer = substr($send_buffer, $len);
+                // 检查发送缓冲区是否已满,如果满了尝试触发onBufferFull回调
+                $this->checkBufferIsFull();
             }
             }
             else
             else
             {
             {
@@ -255,20 +257,7 @@ class TcpConnection extends ConnectionInterface
             // 将数据放入放缓冲区
             // 将数据放入放缓冲区
             $this->_sendBuffer .= $send_buffer;
             $this->_sendBuffer .= $send_buffer;
             // 检查发送缓冲区是否已满,如果满了尝试触发onBufferFull回调
             // 检查发送缓冲区是否已满,如果满了尝试触发onBufferFull回调
-            if(self::$maxSendBufferSize <= strlen($this->_sendBuffer))
-            {
-                if($this->onBufferFull)
-                {
-                    try
-                    {
-                        call_user_func($this->onBufferFull, $this);
-                    }
-                    catch(Exception $e)
-                    {
-                        echo $e;
-                    }
-                }
-            }
+            $this->checkBufferIsFull();
         }
         }
     }
     }
     
     
@@ -524,6 +513,27 @@ class TcpConnection extends ConnectionInterface
     }
     }
 
 
     /**
     /**
+     * 检查发送缓冲区是否已满,如果满了尝试触发onBufferFull回调
+     * @return void
+     */
+    protected function checkBufferIsFull()
+    {
+        if(self::$maxSendBufferSize <= strlen($this->_sendBuffer))
+        {
+            if($this->onBufferFull)
+            {
+                try
+                {
+                    call_user_func($this->onBufferFull, $this);
+                }
+                catch(Exception $e)
+                {
+                    echo $e;
+                }
+            }
+        }
+    }
+    /**
      * 销毁连接
      * 销毁连接
      * @void
      * @void
      */
      */