💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
# swoole_server->addListener Swoole提供了swoole_server::addListener来增加监听的端口。业务代码中可以通过调用swoole_server::connection_info来获取某个连接来自于哪个端口。 函数原型: ~~~ void swoole_server->addListener(string $host, int $port, $type = SWOOLE_SOCK_TCP); ~~~ ### swoole支持的Socket类型 - **SWOOLE_TCP**/**SWOOLE_SOCK_TCP** tcp ipv4 socket - **SWOOLE_TCP6**/**SWOOLE_SOCK_TCP6** tcp ipv6 socket - **SWOOLE_UDP**/**SWOOLE_SOCK_UDP** udp ipv4 socket - **SWOOLE_UDP6**/**SWOOLE_SOCK_UDP6** udp ipv6 socket - **SWOOLE_UNIX_DGRAM** unix socket dgram - **SWOOLE_UNIX_STREAM** unix socket stream > Unix Socket仅在1.7.1+后可用,此模式下$host参数必须填写可访问的文件路径,$port参数忽略 Unix Socket模式下,客户端$fd将不再是数字,而是一个文件路径的字符串 SWOOLE_TCP等是1.7.0+后提供的简写方式,与1.7.0前的SWOOLE_SOCK_TCP是等同的 您可以混合使用UDP/TCP,同时监听内网和外网端口。示例: ~~~ $serv->addlistener("127.0.0.1", 9502, SWOOLE_SOCK_TCP); $serv->addlistener("192.168.1.100", 9503, SWOOLE_SOCK_TCP); $serv->addlistener("0.0.0.0", 9504, SWOOLE_SOCK_UDP); $serv->addlistener("/var/run/myserv.sock", 0, SWOOLE_UNIX_STREAM); ~~~ ### IPv4与IPv6 - IPv4使用 127.0.0.1表示监听本机,0.0.0.0表示监听所有地址 - IPv6使用::1表示监听本机,:: (0:0:0:0:0:0:0:0) 表示监听所有地址 |  Swoole流程 | |-----| ![](https://box.kancloud.cn/2015-07-20_55aca2b16ea3b.)