resumeRecv

说明:

  1. void Connection::resumeRecv(void)

使当前连接继续接收数据。此方法与Connection::pauseRecv配合使用,对于上传流量控制非常有用

参数

无参数

范例

  1. use Workerman\Worker;
  2. use Workerman\Timer;
  3. use Workerman\Connection\TcpConnection;
  4. require_once __DIR__ . '/vendor/autoload.php';
  5. $worker = new Worker('websocket://0.0.0.0:8484');
  6. $worker->onConnect = function(TcpConnection $connection)
  7. {
  8. // 给connection对象动态添加一个属性,用来保存当前连接发来多少个请求
  9. $connection->messageCount = 0;
  10. };
  11. $worker->onMessage = function(TcpConnection $connection, $data)
  12. {
  13. // 每个连接接收100个请求后就不再接收数据
  14. $limit = 100;
  15. if(++$connection->messageCount > $limit)
  16. {
  17. $connection->pauseRecv();
  18. // 30秒后恢复接收数据
  19. Timer::add(30, function($connection){
  20. $connection->resumeRecv();
  21. }, array($connection), false);
  22. }
  23. };
  24. // 运行worker
  25. Worker::runAll();

参见

void Connection::pauseRecv(void) 使得对应连接对象停止接收数据