安基網 首頁 腳本 PHP 查看內容

PHP實現網頁與遠程服務器TCP交互

2019-8-4 23:46| 投稿: xiaotiger |來自: 互聯網


免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

摘要: 最近參與了一個物聯網的項目,場景:有多臺設備通過tcp與服務器連接,要求客戶在遠程用網頁對設備進行管理。網頁不直接控制硬件,而是將服務器當成一個中轉站。網頁發出指令,送到服務器,服務器再將這些指令送到相 ...

最近參與了一個物聯網的項目,場景:有多臺設備通過tcp與服務器連接,要求客戶在遠程用網頁對設備進行管理。網頁不直接控制硬件,而是將服務器當成一個中轉站。網頁發出指令,送到服務器,服務器再將這些指令送到相應的設備,反之亦然,設備將指令發送至服務器,服務器再將設備指令推送到網頁。

圖片有點丑,將就看哈

筆者負責網頁端與遠程服務器交互。因為指令的傳送要求快速、即時,所以筆者選用的基本構架是php+socket+redis。經過兩天的時間,基本流程已經實現,網頁端與服務端做到了實時交互。下面就把基本思路寫一下,希望能起到拋磚引玉的作用。

實現方案:

1、網頁端通過websocket與PHP后臺交互

2、后臺可使用swoole或workerman,我這里使用workerman

3、將網頁端收到的指令存入緩存(redis鍵client。緩存可采用本地緩存或redis,速度上差不多。這里選用redis,方便運用隊列和將來升級)

4、將緩存client值,通過php擴展 socket 傳到遠程服務器(socket_write)

5、接收遠程服務器的指令(socket_read),存入緩存(redis鍵server)

6、將緩存過的server值,即遠程服務器的指令,傳到網頁端

7、反過來是一樣的,遠程服務端的指令,可即時推送到網頁端

另外在網上看到一個用PHP實現網頁直接操作硬件串口的基本思路:實現方案:

1.網頁端通過websocket與php后臺服務交互

2.php后臺接收指令操作串口,發送16進制指令給硬件設備

3.php后臺將硬件設備返回值通過websocket,傳遞給網頁端

4.網頁端接收推送消息,顯示在頁面上。




小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里 注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

本文出自:https://www.toutiao.com/a6720859118816461316/

免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!


鮮花

握手

雷人

路過

雞蛋

相關閱讀

最新評論

 最新
返回頂部
云南快乐十分开奖结果前三