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'?=>?"rn", ????'ssl_cert_file'?=>?'ssl.cert', ????'ssl_key_file'?=>?'ssl.key',] );
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END