Workerman

TcpConnection类


原理概述

WorkerMan中有两个重要的类Worker与Connection。

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

每个客户端连接对应一个Connection对象

可以说Worker是一个监听容器,负责接受客户端连接,并把连接包装成connection对象形式提供给开发者操作。


属性



id

说明:

int Connection::$id

客户端连接对象的id,这是一个自增的整数。

注意:workerman是多进程的,每个Worker进程内部会维护一个自增的connection id,所以多个进程之间的connection id会有重复。

如果想要不重复的connection id 可以根据需要给connection->id重新赋值,例如加上worker->id前缀。

参见

Worker的connections属性

范例

use Workerman\Worker;
require_once__DIR__.'/Workerman/Autoloader.php';
$worker =newWorker('tcp://0.0.0.0:8484');
$worker->onConnect =function($connection){
echo$connection->id;
};
// 运行
workerWorker::runAll();

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Workerman Manual Workerman 不依赖于 php-fpm、apache、nginx 容器,这...
    xiaojianxu阅读 979评论 1 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • 这是0001中官网的例子,引入部分不谈 先看下面这一段 由于workerman是对一个端口监听的,那么,我们需要创...
    水电梁师傅阅读 583评论 0 2
  • 说明:这个例子只能单进程,要支持多进程或者服务器集群的话需要Channel组件完成进程间通讯,开发也非常简单,可以...
    Uzero阅读 1,984评论 0 0
  • SSL/TLS协议运行机制的概述 不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三...
    断桥落英阅读 274评论 0 0