我目前有一个iPhone应用程序通过WiFi与计算机上运行的C ++服务器通信。此应用程序将其数据(x,y坐标)以c结构形式发送到服务器。为了进一步开发,我们希望iPhone应用程序直接与java服务器通信,但主要问题是java无法模拟或使用c-struct。在两个设备之间发送数据(x,y坐标)的最佳方法是什么?我已经可以在两个设备之间建立连接。更具体地说,我将如何接收数据并在Java端处理它。
感谢您的帮助,
亚历
答案 0 :(得分:1)
您可以在Java后端上设置RESTful Web服务。
在iPhone上,将数据打包(“序列化”)到您想要的HTTP POST请求(例如JSON,XML等)并将请求发送到Web服务。
例如,JSON对象可能类似于:
{ "coordinates": [ { "x" : "100", "y" : "200" } , { "x" : "20", "y" : "40" } ] }
Web服务通过将此JSON数据反序列化为特定于Java的数据容器(例如ArrayList<Point>
集合)来响应POST请求。
ASIHTTPRequest使这个设置的iPhone方面非常简单,其ASIFormDataRequest
类。
Java有JAX-WS,有助于设置RESTful服务。
aforementioned link中有许多用于Objective-C和Java的JSON编码和解码框架和库。