swoole怎样保存fd的值,有什么要注意的
Admin 2022-09-07 群英技术资讯 1057 次浏览
关于“swoole怎样保存fd的值,有什么要注意的”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。
from_id是来自于哪个reactor线程
fd是tcp连接的文件描述符,在swoole_server中是客户端的唯一标识符 (推荐学习: swoole视频教程)
fd是复用的,当连接关闭后fd会被新进入的连接复用
正在维持的TCP连接fd不会被复用
调用swoole_server->send/swoole_server->close函数需要传入$fd参数才能被正确的处理。
如果业务中需要发送广播,需要用apc/redis/memcache/swoole_table将fd的值保存起来。
1.6.0以上版本不再需要from_id参数,swoole本身提供了ConnectionList可以查询到当前所有的fd和对应from_id
1.7.10以上版本,fd不再是文件描述符。fd是一个自增数字,范围是 1 ~ 1600万
fd超过1600万后会自动从1开始进行复用
function my_onReceive($serv, $fd, $from_id, $data) {
//向Connection发送数据
$serv->send($fd, 'Swoole: '.$data);
//关闭Connection
$serv->close($fd);
}$fd为什么使用整形
$fd 使用整形而不是使用对象,主要原因是swoole是多进程的模型,在Worker进程/Task进程中随时可能要访问某一个客户端连接,如果使用对象,那就需要进行Serialize/Unserialize。增加了额外的性能开销。$fd 如果是整数那就可以直接存储传输被使用。
在PHP层可以也客户端连接可以封装成对象。面向对象的好处是可读性更好,对连接的操作可以封装到方法中。如
$connection->send($data); $connection->close();
关于“swoole怎样保存fd的值,有什么要注意的”的内容今天就到这,感谢各位的阅读,大家可以动手实际看看,对大家加深理解更有帮助哦。如果想了解更多相关内容的文章,关注我们,群英网络小编每天都会为大家更新不同的知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
swoole和socket的区别:socket是系统提供的对tcp/ip操作的接口,swoole这是对socket在进行一个封装并提供php操作接口的php扩展。
yii2行为怎么理解?很多新手在学习YII2框架时,对于YII2框架中behavior行为的理解使用可能不太清楚,因此这篇文章就给大家介绍一下YII2中的行为,有这方面学习需要的朋友可以看一下。
今天来给大家详细介绍下php匿名函数怎么使用的教程,php匿名函数的本质是对象,因此跟对象一样可将匿名函数赋值给某一变量。详情内容请看以下爱站技术频道小编所整理的资料吧!
在PHP内部,系统维护着连接状态,其状态有三种可能的情况:0-NORMAL(正常)1-ABORTED(异常退出)2-TIMEOUT(超时)当PHP脚本正常地运行NORMAL状态时,...
php中CGI模式的介绍:1、是一种重要的互联网技术,可以让一个客户端,从网页浏览器向执行在网络服务器上的程序请求数据。2、CGI 描述了服务器和请求处理程序之间传输数据的一种标准。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008