2010-04-30 37 views
0

我目前有一個iPhone應用程序通過WiFi與運行在計算機上的C++服務器進行通信。這個應用程序將其數據(x,y座標)發送到c-struct到服務器。爲了進一步開發,我們希望iPhone應用程序直接與java服務器通信,但是主要問題是java不能模擬或使用c-struct。在兩個設備之間發送數據(x,y座標)的最佳方式是什麼?我可以在兩個設備之間建立連接。更具體地說,我將如何接收數據並在Java端處理它。iPhone應用程序/ Java服務器結構數據發佈通過WiFi

感謝您的幫助,

亞歷

回答

1

你可能會建立在Java後端RESTful Web服務。

在iPhone上,將數據打包(「序列化」)到HTTP POST請求中(不過您需要)(例如JSON,XML等)並將請求發送到Web服務。這個JSON數據反序列化到Java特定的數據容器,如ArrayList<Point>收集

{ "coordinates": [ { "x" : "100", "y" : "200" } , { "x" : "20", "y" : "40" } ] } 

Web服務響應POST請求:

例如,一個JSON對象可能看起來像。

ASIHTTPRequest使得這個設置的iPhone端非常容易,它的ASIFormDataRequest類。

Java有JAX-WS有助於設置RESTful服務。

aforementioned link中有很多用於Objective-C和Java的JSON編碼和解碼框架和庫。

+0

您如何懷疑這兩款設備的通信性能? iPhone設備本質上充當計算機的觸控板,並有可能每秒發送幾次座標。 – adimitri 2010-05-03 01:59:05

+0

在這種情況下,您可能會在客戶端和服務器端查看UDP實現:例如, http://code.google.com/p/cocoaasyncsocket/和http://www.devx.com/getHelpOn/10MinuteSolution/20426 – 2010-05-03 04:35:33

相關問題