簡體   English   中英

JS前端<-> C ++后端通信(不同的服務器)

[英]JS Frontend <-> C++ backend communication (different servers)

我正在從事一個由Web fontend和后台服務組成的項目。 用戶可以訪問Web前端,並且應該與后台服務進行通信,該后台服務是用C ++編寫的,並且可以在(將來可能有多個)另一台計算機上運行。

僅供參考:后台服務器(以后稱為“后端”)的行為類似於http服務器,並偵聽特定端口上的傳入請求。

到目前為止,前端使用簡單的http請求(包含xml或json格式的數據)將命令發送到后端。

好吧,現在這是我的問題:由於用戶在前端輸入數據,因此前端希望后端提供一些數據以將其顯示給用戶或在我們的數據庫內部使用。

您能推薦任何方法來處理從后端到前端的數據發送嗎?

我當前的想法:后端在啟動時獲得一個鏈接,一種pingback url,如果有任何數據可以返回到前端,則可以調用該鏈接。 被調用的文件將輸入的數據輸入某個位置以存儲,例如,內存緩存或僅內存數據庫。 我打算用javascript編寫前端,也許使用諸如Ember.js或Angular.js之類的框架,該框架可以在內部自動處理此類數據更新。 無論哪種方式,它都應使用盡可能少的資源來盡可能實時地更新前端。

我當前的方法行得通還是純粹是愚蠢的?

因此,總的來說:您能否給我一些技巧,以改善上述方案,或者建議其他方法來實現這一目標?

我已經用谷歌搜索過,但是我發現的只是設計Javascript前端<-> C ++后端通信 ,但是他只想將后端安裝在同一台機器上,但我有不同的機器。

編輯:我忘記了最重要的細節(或者我在想):當前只有一個后端實例可以處理很多客戶。 前端上的每個用戶都有至少一個與客戶端管理器(后端)相關聯的客戶端。 因此,管理器可能會返回很多數據。

這里真正的問題(或者至少我認為這是最大的問題)是我應該如何將返回的數據分發給每個客戶端。

Padmak

有兩種處理從后端向前端發送數據的好方法。

  1. 客戶端每隔一定的時間間隔輪詢一次后端,這是很常見的做法,但是如果您要進行一百萬次回調,則效率極低

  2. 使用websockets, http://en.wikipedia.org/wiki/WebSocket

我不太熟悉C ++作為后端Web服務,但是如果您正在偵聽端口並處理url(通過某種類型的控制器?),那么ajax將是最好的解決方案,您可以設置一個url以將數據發布到前端並從您的服務返回數據。 我注意到您添加了angular.js和ember.js作為標簽。

如果您使用它們,它們都有使用ajax的出色框架,不確定是否使用ember,但是angular.js使用“資源”,值得在Google搜索中使用。

希望我能正確理解您的要求。

另外,如果您使用的是angular並希望獲得實時的感覺,則應該查看模型和數據綁定以及$ watch方法。 您可以在前端上的輸入立即更改后發送ajax調用,但是,您將需要添加某種超時方式,這樣您就不會不斷向后端發送請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM