連接的接口是抽象的 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 #官網資料
