若Android程序与服务端通信,那么服务端开发技术有哪几种?具体技术细节?

keepthinker 发布于 2013/10/04 17:58
阅读 12K+
收藏 3

    最近在学jsp技术,也了解tomcat,jboss,glassfish等等作为service容器,我很清楚关于jsp网页处理的技术需要WebService,初学jsp,servlet一般用tomcat当做WebService容器。

    我的问题是假如我开发了android软件,需要与搭建在计算机上的service(服务端程序)通信,那么我应该在服务端采用什么技术呢?

    1.使用tomcat当做WebService容器,采用servlet技术实现(处理doGet,doPost),之前我有实现过,不过感觉Servlet好像专门针对jsp处理,感觉有点不对口-_-||。

    2.使用Java网络编程里的Socket编程,感觉难度有点大,得处理多线程问题,还得深入了解HTTP/TCP协议,本人之前看书有写过Socket,但是都是简单例子,并未有实际项目做过,所以感觉水很深。

    3.php做android应用后端感觉好像php是针对网站开发,做webapp的,感觉有点不对口-_-||。

    4.C++,Unix网络编程感觉难度相当大,本人没有试过这方面的开发。

    5.服务器软件有很多中,application server,web server,file server。像我刚才说的android情况应该用哪个server?  

    6.给个建议,具体采用什么技术,如采用什么容器(tomcat,jboss,glassfish,websphere...),采用什么技术(servlet,socket...)。最好采用java技术实现android程序远程通信的服务端程序。

    本人现为在校大学本科生,承蒙赐教,如问题有瑕疵,低端,还望见谅。

加载中
0
Mr_Qi
Mr_Qi

1.webservice显然是可以的啊,cxf就做的很好,和spring集成非常easy

2.没有必要用到那么底层的了,socket编程通常只有做即时通讯和下载类软件等等才用到

3.php可以使用啊,android只要获取数据嘛~就理解为普通浏览器好了唉,你把数据抛出来,android解析就好了啊,可以是二进制流,xml,json,序列化过后的数据等等

4.不推荐

5.application server是指运行动态页面的server,tomcat很典型,resin,jboss之类的都是。web server可以搭配多个application server,比如apache,nginx等等,file server picture server是按照功能分的,为了负载均衡之类的提供多个服务器分开存储而已

6.建议就是spring+cxf,服务器就用tomcat好了……So easy……



0
五杀联盟
k
keepthinker
大三
0
五杀联盟
五杀联盟
我也大三,你做啥,带我一起吧
0
敲代码猥琐男
敲代码猥琐男
协议而不是所谓的框架啊,技术啊,一个地址,有我想要的东西,这就好啦
0
hanjieson
hanjieson
你要先搞懂什么是webservice。一般手机和服务器通信用http就ok啦,在服务器端组织好你的数据,像xml或json,客户端获取完数据后再解析数据呈现出来
0
L
LongCity

1.找到Response对象。

2.用①里的那个对象,找出writer

3.用②里的那个writer对象,写一个字符串(json格式、xml格式,随你。)

4.flush(),close()

0
写程序的康德
写程序的康德

1. 这个叫Java EE容器,不叫Web Service容器;

2. 无论是什么技术,所有的B/S架构的系统输出的都是HTML。所谓的编程语言——Java、PHP、ASP.net无关大雅,所谓的framework只是为了生成HTML更加方便,所谓的应用服务器或xxx容器只不过是为了给“生成HTML的程序”执行提供一个运行环境。

3. 所有的现代协议都是建立在TCP之上的,之后便是具体用什么协议的问题。HTTP,天下一统,通用、标准、无状态;自己定义协议灵活、多变。以你目前问问题的水平,你还是HTTP吧。

4. 协议是数据传输方式,剩下的问题是数据编码方式。无非三种——文本,二进制,文本二进制。前者是json、xml之类的、后者二进制完全是自定义的格式,文本二进制很风靡的,google protobuf之类的。你既然选择了HTTP,那么无非是输出json或xml的问题,我建议json,android用jackson library解析,速度巨快无比直逼protobuf之类的。

0
Timco
Timco
我也是本科生。据我所知,安卓应用程序和服务器通信有以下两张方式:http协议和socket编程。前者难度较低,大部分都是它。将数据打包成xml或json格式,通过post方式传输。而socket,服务器端一直循环监听,接收到socket的时候就开启一个线程进行处理。
0
k
keepthinker
感谢各位大神的指导,我之前试过HTTP/TCP协议用json作为数据格式,成功过,只是对服务端技术的似懂非懂。想让自己更加清晰点,之前也去stackoverflow.com搜索过相关问题,但是感觉还是模糊。在此,非常感谢Mr.Qi和fileflyc的详细回答。
返回顶部
顶部