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 #官网资料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伟伟哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值