Server::$connections
最后更新于:2022-04-02 06:21:23
# Server::$connections
[TOC]
`TCP`连接迭代器,可以使用`foreach`遍历服务器当前所有的连接,此属性的功能与`Server->getClientList`是一致的,但是更加友好。遍历的元素为单个连接的`fd`。
注意`$connections`属性是一个迭代器对象,不是`PHP`数组,所以不能用`var_dump`或者数组下标来访问,只能通过`foreach`进行遍历操作。
~~~
foreach($server->connections as $fd)
{
$server->send($fd, "hello");
}
echo "当前服务器共有 ".count($server->connections). " 个连接\n";
~~~
> 此属性在`1.7.16`以上版本可用
## PCRE
> 连接迭代器依赖`pcre`库(不是`PHP`的`pcre`扩展),未安装`pcre`库无法使用此功能
>
> `pcre`库的安装方法,[http://wiki.swoole.com/wiki/page/312.html](http://wiki.swoole.com/wiki/page/312.html)
>
> 4.1.0以上版本移除了`pcre`依赖
安装好`PCRE`库后需要重新编译安装`swoole`,然后使用`php --ri swoole`查看`swoole`扩展相关信息中是否有`pcre => enabled`
## Base 模式
`SWOOLE_BASE`模式下不支持跨进程操作`TCP`连接,因此在`BASE`模式中,只能在当前进程内使用`$connections`迭代器。
';