推送php PHP實現網頁與遠端伺服器TCP互動

2021-10-15 00:23:24 字數 1025 閱讀 5119

最近參與了乙個物聯網的專案,場景:有多台裝置通過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.網頁端接收推送訊息,顯示在頁面上。

iOS 實現遠端推送通知國際化

每個遠端推送通知都包含乙個payload。payload包含系統要顯示給使用者的資訊,也包括你自定義的資料。有關payload key可以看看這裡 看過上面這篇文章後,小夥伴應該知道了蘋果其實提供了實現語言國際化的方案,即通過loc key和loc args這兩個字段。其中loc key是格式化前的...

關於簡單實現資料推送的思路與實現

前段時間公司有個專案涉及到了來電諮詢提醒,也就是來到彈屏這方面,據我所知以往的專案並沒有涉及到彈屏這塊這次是客戶的需求。由於專案了整合了乙個第三方管理來電語音卡的程式。這程式好像是vb寫的吧,先說下,這個只是負責將通話的 號碼通話時間,通話線路資訊儲存到專案所制定的資料庫的一張calllogl表中,...

git使用總結 本地分支與遠端分支關聯 推送內容

建立git倉庫可以在遠端建立乙個倉庫,然後check到本地,在本地的檔案裡建立工程檔案,然後提交 也可以將本地現有的工程和遠端的空倉庫關聯 本地建立了乙個工程 iosdemo 執行沒有錯誤,就可以提交到遠端了。一般情況下,遠端倉庫建立成功之後會有以下提示 command line instructi...