如何实现android和服务器长连接
1个回答
展开全部
种功能实际数据同步同要考虑手机本身、电量、网络流量等等限制素所通移端两解决案: 1.种定server查询数据通使用HTTP协议访问web服务器称Polling(轮询); 2.种移端服务器建立连接使用XMPP连接称Push(推送) 耗费电量、流量数据延迟性各面说Push明显优势使用Push缺点: 于客户端:实现维护相本高移线网络维护连接相些技术发难度 于服务器:何实现核并发cpu作业调度数量庞连接并发维护等技术仍存发难点 讲述Push案原理前先解移线网络特点 移线网络特点: IP v4 IP 量限运营商配给手机终端 IP 运营商内网 IP手机要连接 Internet需要通运营商网关做网络址转换(Network Address TranslationNAT)简单说运营商网关需要维护外网 IP、端口内网 IP、端口应关系确保内网手机跟 Internet 服务器通讯 GGSN(Gateway GPRS Support Node 网关GPRS支持结点)模块实现NAT功能部移线网络运营商都减少网关NAT映射表负荷所发现链路段间没数据通讯删除其应表造链路断 PushAndroid平台连接实现:既自知道自移端要Internet进行通信必须通运营商网关所让NAT映射表失效咋需要定向Internet发送数据NAT映射表失效所需发送度0数据即 候要用定器android系统定器通两种: 1.java.util.Timer 2.android.app.AlarmManager 析: Timer:按照计划或者间周期执行相关任务Timer需要用WakeLock让CPU保持唤醒状态才能保证任务执行消耗量流量;CPU处于休眠候能唤醒执行任务所应用于移端明显合适 AlarmManager:AlarmManager类属于android系统封装管理RTC模块管理类涉及RTC模块要更解两者区别要明白两者真区别 RTC(Real- Time Clock)实闹钟嵌入式系统通采用RTC 提供靠系统间包括秒月等;且要求系统处于关机状态能够工作(通采用备电池供电)外围需要太辅助电路典型需要高精度32.768KHz 晶体电阻电容等(面兴趣自查阅相关资料说概)题所AlarmManager称全局定闹钟意味着自用使用AlarmManager定执行任务CPU休眠执行任务才唤醒CPU程短间面简单说明其使用: 1.类似于Timer功能: //获闹钟管理器 AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); //设置任务执行计划 am.setRepeating(AlarmManager.ELAPSED_REALTIME, firstTime, 5*1000, sender);//firstTime才始执行每隔5秒再执行 2.实现全局定功能: //获闹钟管理器 AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); //设置任务执行计划 am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, 5*1000, sender);//firstTime才始执行每隔5秒再执行 总结:android客户端使用Push推送应该使用AlarmManager实现跳功能使其真实现连接
浙江启扬智能科技有限公司
2023-06-12 广告
2023-06-12 广告
Android和ARM、Linux之间存在密切的联系。Android是一种基于Linux内核的嵌入式智能操作系统,它采用了ARM处理器作为其主要处理器架构。Android的内核和许多应用程序都是基于ARM架构编写的,包括处理器和内存管理器。...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询