2013-10-05 36 views
1

我有一個與HTML5相關的問題作爲桌面應用程序替換。HTML5桌面應用程序和C++業務邏輯

目前時間我的公司開發在C WinCE的應用++語言與在C++中的GUI,其接收和通過套接字發送消息到業務邏輯層(C++的Windows應用程序)。 我們希望在Linux上移植此SW,但要實現可交叉編譯SW。整個應用程序運行在一臺嵌入式PC上(包括BL和GUI)。

關於表示層我們正在研究HTML5可能的解決方案,但是我有一些疑問。事實上,我讀過一些瀏覽器支持web套接字的功能,但似乎這種套接字不是通用的TCP/UDP套接字,而是更加專業化,並且它們的實現在服務器端類中提供,例如Socket.IO (Java e node.js)和Jetty(Java)。

因此,有人能夠提供一些反饋意見,說明如何/如果可以使用HTML5作爲表示層,並通過套接字向GUI發送/接收更新到與Web相同的主機上運行的應用程序頁?

我希望這個問題履行的stackexchange「風格」和規則的要求,我做了我最好要儘可能明確。 此致敬禮。 Giovanni Parodi

+0

也許你會有些標記添加到您的問題(也許刪除業務邏輯和表現層的標籤),以吸引那些遵循這些標籤 –

+0

嗨社區的關注,你可以建議我一些更有吸引力的標籤?我不知道什麼可以更好地描述我的問題。再次感謝,祝你有個愉快的日子 – Giox79

+0

不幸的是,因爲我不熟悉你正在使用或正在考慮使用的工具 - 除了C++。它有許多合格的追隨者,你的問題肯定與C++有關。 –

回答

1

沒有什麼能阻止你在前端和後端在同一主機上通過WebSocket over loopback進行通話。

我想你也不願意端口後端到不同的語言,所以你需要一個C++的WebSocket實現。我沒有遵循微軟在這方面提供的內容,但是在使用Boost/ASIO時,我建議您查看WebSocket++

此外,WebSocket還是比較低級的(雙向發送消息)。所以你可能想要更高層次的東西。您可能想看看WAMP (The WebSocket Application Messaging Protocol),它提供了RPC和PubSub消息模式。使用這個,你可以插入/交換你的前端(例如有一個原生的Android)與相同的,不變的後端對話 - 對於後端也是如此。脫鉤。

clientsrouter(read: server)實現各種語言。

順便說一句:WebSocket支持Chrome,Firefox和IE(從版本10開始)以及其他瀏覽器。

我需要更多地瞭解具體的側條件和要求給予更多的提示..

披露:我爲Tavendo高速公路,WAMP的原作者和工作。

+0

嗨Oberset,首先非常感謝您的有用反饋。 你是對的,我應該保存已經與不同客戶測試過的業務邏輯部分。 我需要udp/tcp套接字每次用戶選擇一個按鈕時發送從gui到BL的自定義消息,以及根據BL進程升級GUI的消息。其他類型的網絡消息直接從BL生成,並且不需要支持來自HTML5的特定協議。 我的新問題與調試工具有關,在VS中使用C++,我認爲調試HTML5將會困難得多,您是否對此主題有任何暗示? – Giox79

+0

與調試C++相比,調試HTML5/JavaScript更容易一些。 Chrome有這樣的內建功能:只適用於Chrome開發者工具的Google。在Chrome中內置了一個完整的調試器,帶有斷點,單步執行,bla bla bla。最近版本的VS也對JS有很好的支持.. – oberstet

+0

好消息,我很抱歉我遲到的回覆,但我今天不在辦公室。 – Giox79