我目前正在决定将用于新项目的通信方法/网络协议。 我能告诉你的关于这个项目的是: - 它是基于Android / java的,使用X量的Android设备 - 这些设备应该能够通过本地网络相互发送字符串。我们在这里谈论小字符串。小于100个字符。 - 发送的包裹/传输量可以变化“很多”。不幸的是,我不能说多少,但网络协议需要尽可能地扩展。
我研究了不同类型的可能解决方案,现在决定使用“套接字”或“RMI”
据我了解RMI:
显然系统需要尽可能顺畅地运行,但主要目标是使其可扩展,以便能够处理更多Android设备。
编辑:系统不是“点对点”的系统。所有的android设备都应该能够配置为服务器。
答案 0 :(得分:0)
在我看来,没有任何问题是真正的问题。
RMI有一个预定义的协议,原始套接字没有。
如果使用原始套接字,则必须完成所有工作以定义客户端和服务器交换的消息和协议。
有很多好的现有协议(RMI,HTTP等),我想知道为什么你觉得有必要再发明一次。
通过HTTP进行通信的Android设备 - 告诉我为什么它不够快或不够灵活。 HTTP对于互联网来说已经足够了 - 为什么不是你和你的解决方案呢?
答案 1 :(得分:0)
我建议你在应用服务器中公开某种web服务(SOAP或REST)。例如,人们经常将他们的数据作为REST Web服务API暴露给移动设备,返回某种JSON格式,以便更容易在客户端设备中再次编组它。
通过这种方式,您可以在每个应用程序服务器中利用HTTP通信的底层实现;任何其他方式,你必须使用nio原始操作编写自己的工作线程池以实现性能......在真实的生产环境中不是一件容易的事情 - 也许是在学术环境中?