workerman 支持端口复用。

bool Worker::$reusePort

设置当前worker是否开启监听端口复用(socket的SO_REUSEPORT选项)。

开启监听端口复用后允许多个无亲缘关系的进程监听相同的端口,并且由系统内核做负载均衡,决定将socket连接交给哪个进程处理,避免了惊群效应,可以提升多进程短连接应用的性能。

注意: 此特性需要PHP版本>=7.0

注意: 从workerman 3.5.21版本开始默认开启此选项。之前版本需要手动设置Worker::$reusePort=true;开启。

范例 1

use Workerman\Worker;

require_once __DIR__ . '/Workerman/Autoloader.php';

$worker = new Worker('websocket://0.0.0.0:8484');

$worker->count = 4;

$worker->reusePort = true;

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

{

$connection->send('ok');

};

// 运行worker

Worker::runAll();

范例2:workerman多端口(多协议)监听

use Workerman\Worker;

require_once __DIR__ . '/Workerman/Autoloader.php';

$worker = new Worker('text://0.0.0.0:2015');

$worker->count = 4;

// 每个进程启动后在当前进程新增一个监听

$worker->onWorkerStart = function($worker)

{

$inner_worker = new Worker('http://0.0.0.0:2016');

/**

* 多个进程监听同一个端口(监听套接字不是继承自父进程)

* 需要开启端口复用,不然会报Address already in use错误

*/

$inner_worker->reusePort = true;

$inner_worker->onMessage = 'on_message';

// 执行监听

$inner_worker->listen();

};

$worker->onMessage = 'on_message';

function on_message($connection, $data)

{

$connection->send("hello\n");

}

// 运行worker

Worker::runAll();

php开启端口复用,请问下workman是否支持端口复用?相关推荐

  1. mysql命令行查看端口占用_linux下常用命令查看端口占用

    在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询 netstat命令各个参数说明如下: -t : 指明显示TCP端 ...

  2. linux udp 端口映射,Linux下的UDP/TCP端口映射(netcat and socat)

    原文链接: http://www.wenquan.name/?p=1158 说起来有点土,事到如今才第一次用socat. 不过今天看了一眼,netcat(nc)这东西ms已经N年没有人维护了.最先有个 ...

  3. linux开机启动端口转发,Linux下使用 Firewall 进行端口转发;IPv6端口转发

    直接SSH下操作即可. 一.Firewall IPv4端口转发 开启IPV4转发 echo 1 > /proc/sys/net/ipv4/ip_forward 开启firewalld防火墙 sy ...

  4. 【Python脚本进阶】2.1、端口扫描器(下):NMAP端口扫描

    目录 一.简介 1.1.扩展 1.2.端口扫描类型 1.3.实现: 一.简介 1.1.扩展 由TCP连接扫描脚本,到其他类型的扫描,Nmap端口扫描工具包提供了大量的功能,如提供的ACK.RST.FI ...

  5. linux服务器防端口扫描,linux下防止syn***,端口扫描和死亡之ping

    http://downloads.sourceforge.net ... les-v0.0.3-3.tar.gz下载以后安装: tar zxvf arptables-v0.0.3-3.tar.gz c ...

  6. Windows 2003 下手动关闭危险端口

    Windows 2003 下手动关闭危险端口怎样关闭端口 默认情况下windows有很多端口是开放的.在你上网的时候,网络病毒和黑客可以通过这些端口连上你的电脑.所以应该关闭.主要有tcp 135 , ...

  7. Docker开启TLS和CA认证, 解决暴露2375端口引发的安全漏洞, 并使用idea连接并推送镜像

    Docker AC认证教程 解决暴露2375端口引发的安全漏洞 创建证书生成脚本 cert.sh, 放置/script目录 "提示" /mydata/cert/docker这个目录 ...

  8. linux 开启端口 权限,Linux 下设置端口权限

    Linux 下设置端口权限的系统调用有两个: ioperm 和 iopl . 一. ioperm 和 iopl 介绍. 1.ioperm 该系统调用的介绍参考了以下链接中的内容: http://blo ...

  9. linux配置svn开启端口映射,linux 下搭建Subversion (SVN)

    本次操作主要通过虚拟机VMWARE安装linux进行搭建 前提准备: 用VMWARE搭建的SVN 为了让别的用户可以访问,首先需要进行端口映射(svn常用端口为3690),点击Vmware的" ...

最新文章

  1. 在Jmeter中使用Selenium WebDriver完成测试
  2. 时间序列预测——深度好文,ARIMA是最难用的(数据预处理过程不适合工业应用),线性回归模型简单适用,预测趋势很不错,xgboost的话,不太适合趋势预测,如果数据平稳也可以使用。...
  3. 把ASCII码的字符串转为数字的16进制
  4. 【Android】ContentProvider和Uri详解
  5. SecureCRT如何导出导入配置文件
  6. 生产库中遇到mysql的子查询
  7. 企业域名备案流程_2021境外投资备案申报流程(办理企业境外投资证书注意事项)...
  8. rdlc实现动态插入图片
  9. JS让文本以打字效果呈现出来
  10. Qtcreator中经常使用快捷键总结
  11. operator() error
  12. WPF自定义控件(一)の控件分类
  13. 如何零成本录制一首单人ACAPPELLA
  14. 用c语言写双人贪吃蛇,试图写了一个双人贪吃蛇,结果蛇竖着跑正常,横着跑就只有头了,求解~...
  15. java fly bird小游戏_JavaScript实现Fly Bird小游戏
  16. python图像风格迁移教程_【人工智能】python图像风格迁移,来欣赏梵高风格的石原里美吧!...
  17. python循环速度提高_提高python中for循环的速度
  18. SAP扫盲系列之一:什么是SAP系统和应用服务器
  19. 华为:将在员工绩效考核中增加“伙伴满意度”选项;谷歌研究员“走火入魔”,被罚带薪休假;魅族回应被吉利收购 | EA周报...
  20. 没有大招的火山引擎,拿下70%大模型玩家

热门文章

  1. the code place where the binding is converted to final value displayed in u
  2. SAP Marketing Cloud功能简述(五) : 销售计划管理
  3. 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用
  4. WordPress的nocache header生成原理
  5. 如何找出SAP Fiori launchpad URL start_up请求发起的具体位置
  6. SAP OData 服务在 gateway 层出错,应该如何处理?通过一个错误消息 Query XXX is invalid or contains errors 来举例说明
  7. SAP云平台 CloudFoundry环境下的space guid
  8. SAP UI5在本地运行和部署到服务器后运行的差异
  9. SAP CRM One Order OB,OW和DB buffer的调用关系图
  10. Docker和宿主机操作系统文件目录互相隔离的实现原理