我在做一个android客户端,自己写服务端,由于服务端的经验不多,所以请教各位,帮帮忙!

我们的服务端用java写,tomcat服务器,mysql数据库,现在有很多疑问,比如:1.客户端与服务端的连接是用socket还是apache的HTTpClient包?哪... 我们的服务端用java写,tomcat服务器,mysql数据库,现在有很多疑问,比如:
1.客户端与服务端的连接是用socket还是apache的HTTpClient包?哪个好用
2.如何处理并发量的问题,我们的目标是5000就足够了,需要用到哪些技术,线程池? NIO?或者别的,这个很关键,望赐教,请详细说说!不尽感激!
展开
 我来答
佑赫ing
2012-02-28 · 超过22用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:46.9万
展开全部
首先,android客户端与服务器端的通信用socket和http通信都是可以实现的,主要看你的需求是什么,如果需要实时通信,那么选用socket。否则选用http通信。因为socket会建立通信管道。耗费资源过大。
其次,没太明白你说得处理并发量的目标5000是什么意思。不知道是不是可以理解为你要同时与服务器进行多方数据交互。如果是建议你使用socket通信。并且可以将你得客户端并发处理用异步任务的方式处理(当然多线程也可以,因为异步任务本身就是多线程)。android客户端的耗时操作都不要放在UI线程里处理,因为这样会出现5秒响应机制导致你得程序崩溃。

不知道上面的回答有没有帮到你,如果有,希望多给追加点分数,10分除了我估计没人愿意帮你写这么多字回答的
追问
谢谢你的回答,分数是小事,如果问题解决了,我不会吝啬分的:关于并发这,我还是不太明白:
我的意思是可能存在同一时刻5000人的访问,我之前用socket写过一个小应用,服务端是一个while循环,只要有客户端连接就会新打开一个线程!如果这样做的话,在服务器上同时跑几百条甚至更多的线程它能不能承受的了,如果不这样做还有什么更好的解决办法吗?线程池?还是别的
追答
哦。你得意思我明白了,如果需要处理这种并发操作的话,劝你放弃使用socket。改用http通信。因为不管你同时有几个用户并发访问,本身socket就是很耗费资源的,它建立通信管道一直占用服务器资源,就算起线程,或者用线程池,socket的通信管道依然在。http通信本身就是个并发的操作。因为你每次访问的时候httpservlet都会分配给你不同的对象进行通信。并且跟socket比http不会占用那么多系统资源。像你说得那个数量5000.用socket服务器肯定受不了。建议用httpserlet。很好用。跟socket其实差不多。但很省资源。
希望能帮到你。
网易云信
2023-12-06 广告
IM UI支持多种终端,包括但不限于:1. PC端:用户可以在个人电脑上使用IM UI进行聊天、文件传输、语音通话等操作。2. 移动端:用户可以在智能手机、平板电脑上使用IM UI,享受与PC端相同的聊天、文件传输、语音通话等服务。3. 浏... 点击进入详情页
本回答由网易云信提供
yougcy_
2012-02-28
知道答主
回答量:45
采纳率:0%
帮助的人:9.7万
展开全部
牛人
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式