站長資訊網
最全最豐富的資訊網站

php中長連接和短連接的區別是什么

php中長連接和短連接的區別:1、短連接是指SOCKET連接后,發送接收完數據后馬上斷開連接;而長連接是指建立SOCKET連接后,不管是否使用都保持連接,直到一方關閉連接為止。2、與短連接相比,長連接的安全性較差。

php中長連接和短連接的區別是什么

本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦

短連接

連接->傳輸數據->關閉連接

比如HTTP是無狀態的的短鏈接,瀏覽器和服務器每進行一次HTTP操作,就建立一次連接,但任務結束就中斷連接。

具體就是 瀏覽器client發起并建立TCP連接 -> client發送HttpRequest報文 -> server接收到報文->server handle并發送HttpResponse報文給前端,發送完畢之后立即調用socket.close方法->client接收response報文->client最終會收到server端斷開TCP連接的信號->client 端斷開TCP連接,具體就是調用close方法。

也可以這樣說:短連接是指SOCKET連接后,發送接收完數據后馬上斷開連接。

因為連接后接收了數據就斷開了,所以每次數據接受處理不會有聯系。 這也是HTTP協議無狀態的原因之一。

長連接

連接->傳輸數據->保持連接 -> 傳輸數據-> ………..->直到一方關閉連接,多是客戶端關閉連接。

長連接指建立SOCKET連接后不管是否使用都保持連接,但安全性較差。

每次我們訪問PHP腳本的時候,都是當所有的PHP腳本執行完成后,我們才得到返回結果。如果我們需要一個腳本持續的運行,那么我們就要通過php長連接的方式,來達到運行目的。

一般php環境為apache+php+linux,但是由于apache對php連接都有時間限制,一般超過這個連接時間apache服務器會自動斷掉連接。

這種情況下比較簡單方便的方式就是在php頁面中設置set_time_limit(0)(當然也可以在php.ini配置文件中設置,但是這樣對整個環境產生影響,畢竟我們并不想對所有連接都可以長時間連接,影響服務性能)

每個PHP腳本都限制了執行時間,所以我們需要通過 set_time_limit 來設置一個腳本的執行時間為無限長,然后使用 flush() 和 ob_flush() 來清除服務器緩沖區,隨時輸出腳本的返回值。

<?php header("Content-Type: text/plain"); set_time_limit(0); while (true) {// 持續執行的腳本  flush(); 	ob_flush(); 	sleep(5); } ?>

當我們執行后,每隔5秒鐘,我們會執行一次,通過這一方法,我們可以完成很多功能,例如后臺監控程序,定時執行功能,日志分析,數據整理等耗時的操作。

推薦學習:《PHP視頻教程》

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
亚洲国产成人精品女人久久久| 国产精品深夜福利免费观看| 青青草国产精品久久| 亚洲视频在线精品| 日韩电影中文字幕在线观看| 日韩精品一区二区三区中文版| 亚洲精品美女久久7777777 | 成人精品一区二区不卡视频| 2017国产精品自拍| 久久精品国产2020| 2021国产精品一区二区在线| 久久久久99精品国产片| 秋霞久久国产精品电影院| 成人区精品人妻一区二区不卡| 久久精品99无色码中文字幕| 亚洲国产精品综合久久网络| 日韩精品高清自在线| 日韩人妻无码一区二区三区99| 国产av永久精品无码| 国产揄拍国内精品对白| 国产精品福利午夜在线观看| 精品国产精品久久一区免费式| 69精品人人人人人人人人人 | 日韩中文字幕在线播放| 日韩亚洲Av人人夜夜澡人人爽| 亚洲第一区精品日韩在线播放| 国产精品美女一级在线观看| 国产精品第一区揄拍无码| 国产精品毛片在线完整版| 国产美女精品三级在线观看| 国产精品国产三级国产AV麻豆| 国产成人精品日本亚洲语音| 国内精品视频一区二区八戒| 精品国产麻豆免费网站| 国产精品va一区二区三区| 国产一区二区精品久久岳√| 中文字幕亚洲日韩无线码| 亚洲AV日韩AV一区二区三曲 | 91久久精品国产91久久性色也| 在线精品视频播放| 色妞妞www精品视频|