在一些需要?jiǎng)討B(tài)時(shí)時(shí)更新數(shù)據(jù)的場(chǎng)景中,以往的做法都是前端進(jìn)行ajax頻繁的請(qǐng)求,而頻繁的清酒面臨著的就是非常浪費(fèi)服務(wù)器資源問題,嚴(yán)重還可能導(dǎo)致網(wǎng)站崩潰,所以就需要一種新的方案來解決此問題——webscoket。
webscoket是h5提供的一種進(jìn)行全雙工通訊的網(wǎng)絡(luò)技術(shù)。在webscoket環(huán)境中,只需與服務(wù)器進(jìn)行一次握手即可建立通信,通信建立便可以雙向互傳數(shù)據(jù)。該技術(shù)應(yīng)用于即時(shí)通訊、消息提醒等環(huán)境具有相當(dāng)強(qiáng)的優(yōu)勢(shì)。
首先便需要搭建webscoket環(huán)境,我們采用的是workerman的php scoket集成環(huán)境。(點(diǎn)擊可下載)
而后我們需進(jìn)行二次開發(fā),需新建php文件,在文件中use引入Worker,包含起autoload類庫,而后new一個(gè)Worker服務(wù)參數(shù)中需要給定端口便可創(chuàng)建一個(gè)服務(wù)。
例如(http):
而后在php命令中執(zhí)行此文件便會(huì)創(chuàng)建一個(gè)服務(wù),創(chuàng)建成功效果如圖:
此時(shí)scoket服務(wù)便已經(jīng)建立起來了,然后我們?cè)谖募刑砑由蠟g覽器相應(yīng)時(shí)返回?cái)?shù)據(jù):
而后命令行中重新運(yùn)行該文件,出現(xiàn)上述圖示便成功,成功后再瀏覽器訪問便可以接收到返回?cái)?shù)據(jù)
這時(shí)scoket服務(wù)便搭建完成了,通過time定時(shí)器類便可以進(jìn)行定時(shí)向網(wǎng)頁端推送數(shù)據(jù)了。