tft每日頭條

 > 科技

 > php開發http服務器

php開發http服務器

科技 更新时间:2024-11-22 20:23:38

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

php開發http服務器(PHP實現網頁與遠程服務器TCP交互)1

圖片有點醜,将就看哈

筆者負責網頁端與遠程服務器交互。因為指令的傳送要求快速、即時,所以筆者選用的基本構架是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開發http服務器(PHP實現網頁與遠程服務器TCP交互)2

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

1.網頁端通過websocket與php後台服務交互

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

3.php後台将硬件設備返回值通過websocket,傳遞給網頁端

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

php開發http服務器(PHP實現網頁與遠程服務器TCP交互)3

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved