Rumah > rangka kerja php > Swoole > swoole支持多端口不同协议吗

swoole支持多端口不同协议吗

(*-*)浩
Lepaskan: 2019-12-06 14:14:48
asal
2503 orang telah melayarinya

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);
Salin selepas log masuk

设置网络协议

$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',]
);
Salin selepas log masuk

Atas ialah kandungan terperinci swoole支持多端口不同协议吗. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan