簡體   English   中英

C ++客戶端和Java Server之間的通信

[英]Commucation Between C++ Client and Java Server

我正在開發一個客戶端應用程序,它使用HTTP與服務器通信。 客戶端使用C ++,Server組件使用J2EE。 我能夠成功地在客戶端和服務器之間交換數據。 現在我想在客戶端的C ++對象中封裝信息,並將其發送到服務器的HTTP請求中。 接收數據后我的服務器應該將C ++對象反序列化為java對象。

我的問題是,我想知道我們是否可以用上面提到的方式交換對象,如果可以實現,有人可以通過提供在線教程或代碼示例的參考來幫助我嗎?

您需要將對象序列化為XML,JSON或類似的東西。

您不能使用特定於技術的序列化(例如,用於Java的RMI),因為您正在使用跨堆棧(並且無論如何都是不好的做法)。

不了解c ++,但在java中,使用JAXB將對象綁定到XML / JSON是微不足道的。 如果您正在公開Web服務,您可以采用簡單的方法:REST(使用JAX-RS)或稍微更難但技術上更好的方式(因為它具有更多功能):SOAP(使用JAX-WS)。

如果您閱讀相關的Web服務堆棧,那么在Java EE中公開這樣的Web服務是微不足道的。

如果將普通的舊C ++對象發送到服務器,那將是一場噩夢。 您需要在客戶端和服務器之間建立通用協議。 一個很好的選擇是JSON。 流程將是這樣的:

C ++對象 - >序列化為 - > JSON - >反序列化為 - > Java對象

使用JSON Spirit之類的東西將C ++對象序列化為JSON。 要將JSON反序列化為Java對象, Gson是一個安全的賭注(它甚至可以即時進行轉換)。 您可以在各自的主頁上找到這兩個項目的文檔。

暫無
暫無

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

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