swoole fd用来做什么的,使用要注意什么呢
Admin 2022-09-07 群英技术资讯 523 次浏览
fd是tcp连接的文件描述符,在swoole_server中是客户端的唯一标识符。
fd是复用的,当连接关闭后fd会被新进入的连接复用,正在维持的TCP连接fd不会被复用。
调用swoole_server->send/swoole_server->close函数需要传入$fd参数才能被正确的处理。
如果业务中需要发送广播,需要用apc/redis/memcache/swoole_table将fd的值保存起来。
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();
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
PHP自动加载的实现有几种方式,怎样做?下文的讲解详细,步骤过程清晰,对大家进一步学习和理解相关知识有一定的帮助。有这方面学习需要的朋友就继续往下看吧!
今天小编就为大家分享一篇关于PHP getDocNamespaces()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
今天小编就为大家分享一篇tp5 实现列表数据根据状态排序,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
php变量的引用赋值使用:1、引用赋值,使用这种赋值方法意味着新的变量引用原始变量,改变一个会影响另一个。2、只有有名字的变量才能赋值,且unset()函数释放其中一个,不会影响另一方。
这篇文章主要介绍了Windows系统下laravel框架的安装以及部署方法,文本有具体操作流程及步骤,具有一定借鉴价值,感兴趣的朋友可以参考下,下面我们就来具体看看要怎么做。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008