类别:Swoole / 日期:2019-12-09 / 浏览:224 / 评论:0

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的细致内容,更多请关注ki4网别的相干文章!