84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
專案有web後台,後台中操作對硬體設備的設定下發指令,但是硬體設備是tcp協議,所以單獨起一個tcp服務與硬體通信,分開兩個進程跑,那用戶在後台操作時的訊息,透過什麼方式跟tcp服務之間溝通最好呢?
认证高级PHP讲师
nodejs可以起tcp連結的嘛,在啟動web之前先啟動tcp連線服務,tcp服務需自行維護好tcp連線狀態(例如斷線重連等等),之後在web服務裡面直接呼叫tcp連線服務進行通信,這樣耦合度高,但使用上比較方便。
是nodejs嗎? 最好是用同一個進程,這樣就不必考慮進程間通訊的問題。 如果非得在兩個進程裡跑,那就藉助第三方,比如redis pub/sub,兩個進程都作為客戶端連上一個redis服務,一個publish,一個subscribe。
專案web後台在收到瀏覽器請求時,直接開始向設備發送TCP資料通訊,得到結果後直接解析並回傳給瀏覽器。
為什麼會還需要另開一個TCP服務進程?
題註提問前是不是該好好想想如何清晰的描述問題?
我的手機地址可能有人用了
nodejs可以起tcp連結的嘛,在啟動web之前先啟動tcp連線服務,tcp服務需自行維護好tcp連線狀態(例如斷線重連等等),之後在web服務裡面直接呼叫tcp連線服務進行通信,這樣耦合度高,但使用上比較方便。
是nodejs嗎?
最好是用同一個進程,這樣就不必考慮進程間通訊的問題。
如果非得在兩個進程裡跑,那就藉助第三方,比如redis pub/sub,兩個進程都作為客戶端連上一個redis服務,一個publish,一個subscribe。
專案web後台在收到瀏覽器請求時,直接開始向設備發送TCP資料通訊,得到結果後直接解析並回傳給瀏覽器。
為什麼會還需要另開一個TCP服務進程?
題註提問前是不是該好好想想如何清晰的描述問題?
我的手機地址可能有人用了