国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

STREAM_CLIENT_PERSISTENT參數(shù)疑惑

echo1

@walkor大人,

$client = stream_socket_client('tcp://127.0.0.1:5678', $errno, $errmsg, 1,  STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT);

這段代碼中的STREAM_CLIENT_PERSISTENT標(biāo)志代表什么含義, 是持久連接的意思嗎?

求舉例,求解答。

7239 3 0
3個(gè)回答

walkor 打賞

STREAM_CLIENT_PERSISTENT 就是創(chuàng)建一個(gè)持久連接,
如果下次創(chuàng)建的連接和當(dāng)前ip端口一致,那么就不會(huì)創(chuàng)建新的連接,而是復(fù)用這個(gè)鏈接。

這個(gè)通常用于php-fpm中與某個(gè)服務(wù)端建立長鏈接,建立的鏈接不會(huì)因?yàn)檎?qǐng)求結(jié)束而銷毀,能避免每次建立鏈接三次握手和關(guān)閉鏈接四次揮手,能一定程度上降低雙方服務(wù)器開銷。

例子php手冊(cè)有,和不用STREAM_CLIENT_PERSISTENT的使用方法一模一樣。

  • 暫無評(píng)論
echo1

@walkor , 我測試了下,應(yīng)該是當(dāng)前php-fpm請(qǐng)求利用

$client = stream_socket_client('tcp://127.0.0.1:5678', $errno, $errmsg, 1, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT);
來連接服務(wù)端, 如果這次請(qǐng)求中有多次利用STREAM_CLIENT_PERSISTENT來連接同一個(gè)IP跟PORT就會(huì)復(fù)用這個(gè)鏈接,
但是php-fpm請(qǐng)求結(jié)束后,再次運(yùn)行 還是會(huì)有建立鏈接的過程的。

web_server服務(wù)端:

$web->onConnect = function() {
echo "connect\n";
};

測試腳本:

$client = stream_socket_client('tcp://127.0.0.1:55151', $errno, $errmsg, 1, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT);

$client1 = stream_socket_client('tcp://127.0.0.1:55151', $errno, $errmsg, 1, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT);

$client2 = stream_socket_client('tcp://127.0.0.1:55151', $errno, $errmsg, 1, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT);

var_dump($client, $client1, $client2); //會(huì)打印一次connect。

腳本結(jié)束后再次運(yùn)行這個(gè)腳本,還是會(huì)打印connect的。

腳本測試后,STREAM_CLIENT_PERSISTENT 這個(gè)參數(shù),是針對(duì)當(dāng)前php-fpm請(qǐng)求的鏈接復(fù)用。

@walkor ,我說的對(duì)嗎?

  • 暫無評(píng)論
walkor 打賞

把php-fpm進(jìn)程數(shù)設(shè)置為1試下

  • echo1 2016-09-13

    我是通過php cli 來執(zhí)行的。

  • walkor 2016-09-13

    好吧,你牛,用php cli測試來猜測php-fpm的行為

  • echo1 2016-09-13

    用 php-fpm測試了下,果然是持久鏈接,應(yīng)該是php-fpm進(jìn)程保存了持久鏈接的信息。@1 ,灰常感謝。

年代過于久遠(yuǎn),無法發(fā)表回答
??