首页  >  文章  >  php框架  >  swoole支持多端口不同协议吗

swoole支持多端口不同协议吗

(*-*)浩
(*-*)浩原创
2019-12-06 14:14:482453浏览

swoole支持多端口不同协议吗

Swoole-1.8.0新增了对多端口混合协议的支持。Server可以监听多个端口,每个端口都可以设置不同的协议处理方式(set)和回调函数(on)。SSL/TLS传输加密也可以只对特定的端口启用。           (推荐学习: swoole视频教程

未调用set方法,设置协议处理选项的监听端口,默认继承主服务器的设置

未调用on方法,设置回调函数的监听端口,默认使用主服务器的回调函数

监听端口返回的对象类型为swoole_server_port

监听端口的swoole_server_port对象,可以调用set和on方法,使用方法与swoole_server完全一致

监听端口只能设置少量特定的选项,只能设置数据收发的相关事件回调函数

不同监听端口的回调函数,仍然是相同的Worker进程空间内执行

主服务器是WebSocket或Http协议,新监听的TCP端口默认会继承主Server的协议设置。必须单独调用set方法设置新的协议才会启用新协议

监听新端口

$port1 = $server->listen("127.0.0.1", 9501, SWOOLE_SOCK_TCP);
$port2 = $server->listen("127.0.0.1", 9502, SWOOLE_SOCK_UDP);
$port3 = $server->listen("127.0.0.1", 9503, SWOOLE_SOCK_TCP | SWOOLE_SSL);

设置网络协议

$port1->set([
    'open_length_check' => true,
    'package_length_type' => 'N',
    'package_length_offset' => 0,
    'package_max_length' => 800000,]
);
$port3->set([
    'open_eof_split' => true,
    'package_eof' => "\r\n",
    'ssl_cert_file' => 'ssl.cert',
    'ssl_key_file' => 'ssl.key',]
);

以上是swoole支持多端口不同协议吗的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn