workerman介绍TcpConnection类


 

连接的接口是抽象的  ConnectionInterface.php 

 

每个客户端连接对应一个Connection对象,可以设置对象的onMessage、onClose等回调,同是提供了向客户数据send接口与关闭连接close接口,以及其它一些必要的接口 

 

 

id  当前连接客户端编号 ,自增的整数 

protocol 设置当前连接的协议类 

worker 此属性为只读属性,即当前connection对象所属的worker实例 

  调用worker实例 。就可以获取这个$connection->worker的所有连接connection 

  客户端所有的连接都foreach循环都给你发送一遍  

  $worker->onMessage = function($connection,$data) { 

    foreach($connection->woreker->connections as $conn) { 

      $conn->send('lampol');

    }

  }

 

 

 

 

打印  var_dump(($connection->woreker)

 

 

 

 

 

maxSendBufferSize  

  每个连接都有一个单独的应用层发送缓冲区,如果客户端接收速度小于服务端发送速度,数据会在应用层缓冲区暂存等待发送。

  

  此属性用来设置当前连接的应用层发送缓冲区大小。不设置默认为Connection::defaultMaxSendBufferSize(1MB)。

  此属性影响onBufferFull回调。 

 $worker->onConnect = function($connection)  { 
// 在里面设置是当前连接 // 设置当前连接的应用层发送缓冲区大小为102400字节 $connection->maxSendBufferSize = 102400; };
 

 

defaultMaxSendBufferSize

  此属性为全局静态属性,用来设置所有连接的默认应用层发送缓冲区大小。不设置默认为1MB。 Connection::$defaultMaxSendBufferSize可以动态设置,设置后只对之后产生的新连接有效

  此属性影响onBufferFull回调。

 

 

 回调属性

onMessage 

  作用与Worker::$onMessage回调相同,区别是只针对当前连接有效,也就是可以针对某个连接的设置onMessage回调。

use Workerman\Worker; require_once __DIR__ . '/Workerman/Autoloader.php'; $worker = new Worker('websocket://0.0.0.0:8484');

// 直接设置所有连接的onMessage回调 $worker->onMessage = function($connection, $data) { var_dump($data); $connection->send('receive success'); };
 // 当有客户端连接事件时 $worker->onConnect = function($connection) { // 设置连接的onMessage回调 $connection->onMessage = function($connection, $data) { var_dump($data); $connection->send('receive success'); }; }; // 运行worker Worker::runAll();

 

接口 

getRemoteIp  获得该连接的客户端ip

getRemotePort  获得该连接的客户端端口

pauseRecv 使当前连接停止接收数据。该连接的onMessage回调将不会被触发。此方法对于上传流量控制非常有用

  

 

resumeRecv 

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

  

 

http://doc.workerman.net/tcp-connection/resume-recv.html  #官网资料 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM