Swoole\Server
此节包含 Swoole\Server 类的全部方法、属性、配置项以及所有的事件。Swoole\Server 类是所有异步风格服务器的基类,后面章节的 Http\Server、WebSocket\Server、Redis\Server 都继承于它。
方法
__construct()
创建一个异步 IO 的 Server 对象。
Swoole\Server(string $host = ‘0.0.0.0’, int $port = 0, int $mode = SWOOLE_PROCESS, int $sockType = SWOOLE_SOCK_TCP): \Swoole\Server
参数
string $host
- 功能:指定监听的 ip 地址
IPv4 使用 127.0.0.1 表示监听本机,0.0.0.0 表示监听所有地址
IPv6 使用::1 表示监听本机,:: (相当于 0:0:0:0:0:0:0:0) 表示监听所有地
int $port
- 功能:指定监听的端口,如
9501如果
$sockType值为 UnixSocket Stream/Dgram,此参数将被忽略 监听小于1024端口需要root权限 如果此端口被占用server->start时会失败
int $mode
- 功能:指定运行模式
- 默认值:SWOOLE_PROCESS 多进程模式(默认)
-
int $sockType
功能:指定这组 Server 的类型
- 其它值:
SWOOLE_TCP/SWOOLE_SOCK_TCPtcp ipv4 socketSWOOLE_TCP6/SWOOLE_SOCK_TCP6tcp ipv6 socketSWOOLE_UDP/SWOOLE_SOCK_UDPudp ipv4 socketSWOOLE_UDP6/SWOOLE_SOCK_UDP6udp ipv6 socket- SWOOLE_UNIX_DGRAM unix socket dgram
- SWOOLE_UNIX_STREAM unix socket stream
示例
```bash <?php $server = new \Swoole\Server(string $host, int $port = 0, int $mode = SWOOLE_PROCESS, int $sockType = SWOOLE_SOCK_TCP);
// 您可以混合使用UDP/TCP,同时监听内网和外网端口,多端口监听参考 addlistener小节。 $server->addlistener(“127.0.0.1”, 9502, SWOOLE_SOCK_TCP); // 添加 TCP $server->addlistener(“192.168.1.100”, 9503, SWOOLE_SOCK_TCP); // 添加 Web Socket $server->addlistener(“0.0.0.0”, 9504, SWOOLE_SOCK_UDP); // UDP $server->addlistener(“/var/run/myserv.sock”, 0, SWOOLE_UNIX_STREAM); //UnixSocket Stream $server->addlistener(“127.0.0.1”, 9502, SWOOLE_SOCK_TCP | SWOOLE_SSL); //TCP + SSL
$port = $server->addListener(“0.0.0.0”, 0, SWOOLE_SOCK_TCP); // 系统随机分配端口,返回值为随机分配的端口 echo $port->port; ```
