首頁  >  文章  >  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