要求:
>服务器和客户端.客户通常是手机.
>通过互联网连接.
>服务器和客户端想要相互交谈.
>交换客户端和服务器之间的文本,多媒体.
>文本将是一些标准格式.这是预定的.
>实时要求
>会话通常持续5-15分钟.在某些情况下不到一分钟.假设会话持续时间为5分钟.
>协议应遵循标准.
>它必须有效率
选项1
我为我的应用程序设计的二进制协议.
选项2
将我的服务器实现为HTTPServlet.客户端在post消息中发送post请求和查询,servlet在消息中发送响应.
然而,我认为,对于实时交互,这不是一个好的选择,因为即使对于同一个客户端和会话也会为每个帖子请求创建一个新线程.请评论这个的效率.
选项3
使用正常的servlet.
将面临与上述相同的问题.
选项4
使用SOAP
选项5
使用REST
选项6
使用Google Wave(我还没有阅读规范)
选项7
建议一些其他协议
现在,我没有Web服务的经验,但如果是选项,那么我不介意投入时间.
基本上,我想要一个标准的做事方式,选择1的速度和效率.
谢谢
解决方法
使用不同的协议来共享视频和音频,但将连接设置为http的连接.
由于需要处理,使用SOAP / Web服务将不是最佳的.从个人经验来看,移动机器上的webservice客户端更容易,但是所需的处理是很有价值的,可能会在您的应用程序中造成瓶颈. [移动机器不太好处理线程]
另外:由于您通过无线发送数据,您还必须考虑处理非指导媒体的其他问题.
您的要求:
>服务器和客户端.客户通常是手机.是的
>通过互联网连接.是的,这取决于你的设备网络的设置
>服务器和客户端想要相互交谈.是的
>交换客户端和服务器之间的文本,多媒体. :HTTP与文本和图像一起使用,但是您需要切换到像UDP这样不可靠的视频.
>文本将是一些标准格式.这是预定的.是的
>实时要求:这是不可能的,但可以尝试.
>会话通常持续5-15分钟.在某些情况下不到一分钟.假设会话持续时间为5分钟:有标题来保持会话打开状态
>协议应遵循标准. :RFC的东西
>它必须有效率:您唯一需要处理的是按键:数据的逐行解析.
此外,我忘了提到SOAP / Webservices是通过HTTP的XML.