我有协议栈的背景 - 适用于3g手机。现在我需要从Android平板电脑到服务器进行通信,我将对界面的两侧进行编码。
更新:我应该说,从Android(多个)平板到本地服务器(多个),然后通过卫星到单个中央主服务器。
现在我认为我可能没有实施,只是为了寻找一些容易让初级工程师处理的东西
SOAP看起来不错,但是他们为Android开发SOAP(或GSOAP)的东西是他们的好东西(不确定服务器将运行哪个o / s;幸运的是我会选择)。
或者我应该自己动手并使用TCP / IP? (我感觉,我无法证明,SOAP可能更快开发,更容易让其他人维护)。
如果我自己动手,我可以在两端使用C或C ++。如果SOAP,我可以在Android上使用C / C ++(我知道如果它是非SOAP的话我可以),还是我使用Java?而且,如果我这样做,那么我是否应该在服务器上使用Java,以保持可维护性?
最后说明:我猜SOAP会增加开销,我将通过卫星链路进行此操作,每个字节都需要花费。
这有什么意义,还是我需要更好地解释一下?
答案 0 :(得分:16)
如果您控制两端,请不要使用SOAP。通过HTTP考虑JSON(或JSON-RPC)或使用prtocol buffers
滚动您自己的 对于B2B来说,SOAP是可以的(记住那个词,嗯?)通信,但是非常沉重,处理起来也不愉快。将SOAP接口暴露给外部世界可能是有意义的,特别是在Microsoft环境中,但它不适合内部使用。更新: 如果使用SOAP,则两端不必是相同的语言/库。我确信有一些怪癖,但通常存在互操作性,但不是很好。因此,您可以在设备上使用Java,在服务器上使用C ++,或者相反,无关紧要。关于IDE - 对于Java,Eclipse有一些相对糟糕但可用的插件。 现在转到卫星链接......你在招我吗?说真的,取决于你的对象的大小。如果您的请求和响应变得很大,那么它可能是可以容忍的......也许。但是如果你打算用很短的回复做很多小的请求,你会看到90%的开销。查看以下示例SOAP消息:http://www.w3schools.com/soap/soap_example.asp