包名:phptars/tars-server 是TARS—PHP-SERVER的底层依赖。
TARS-SERVER使用composer进行包管理,开发者只需要根据相应的版本,进行composer install即可。
具体的使用方式,请参考对应php/examples下面的http-server、timer-server和tcp-server。
TARS-SERVER是以SWOOLE为底层的网络收发实现的,框架主要包含如下的目录:
针对cmd层,现在包含如下几个文件:
Command.php: 负责在服务启动的时候,指定配置文件和启动命令
CommandBase 规定了一个Command所必须的实现,所有的诸如START,都是CommandBase的子类。其中提供了getProcess方法,来获取当前启动的服务进程。
Restart 重启命令,只是调用停止后,再调用启动
Start 启动命令,会首先解析平台下发的配置,然后引入业务所必须的services.php文件。 接下来监测进程是否已经启动,从而避免重复启动; 最后将配置和预先定义的SwooleTable传入Server,进行服务的初始化和启动过程。
Stop 现在的服务停止方式比较暴力,会根据服务的名称拉出所有的进程,然后kill掉。后续会引入reload的方式进行服务的代码重新加载。
核心层主要由Event、Server、Request和Response组成。
在完成服务的启动之后,首先会进入onMasterStart:
onManagerStart:
其次是onWorkerStart:
onTask: 将服务的APPName serverName servantName进行上报。
分别需要关注onReceive和onRequest两个回调。
对于tcp的server,关注onReceive:
对于http的server,关注onRequest:
onRequest方法:
Request.php 储存一些必要的请求数据; 设置和去掉全局变量
Response.php 负责回包的一些工作
整个服务启动由cmd下的Start发起, 之后调用Server对象的创建, 然后依次进行swoole的初始化工作, 完成启动服务之后,只需要处理onReceive或者onRequest的监听即可
框架依赖以下几个包:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。