------分隔线---------------
系统下载基地所有软件和资料都来源于互联网,仅供学习或测试之用,测试后请自行销毁,若有侵犯您的版权请来信指出(),本站将立即删除!
Copyright & 2014 系统下载基地在开发过程中,我们经常会用到TCP/IP连接实现即时数据传输,对于java Server 来说如果用在PC段问题不会太大,在PC上资源空间相对比较大,呆在手机上不一样,要考虑很多问题,下面我说说在手机客户端实现TCP/IP连接中,我们讨论下一下几个问题:
第一,耗电
& & & & 关于耗掉问题,我想很多朋友开发中也遇到过,其实在android中耗电主要是因为占用cpu时间长和一些感应器的使用,java中药实现长连接基本上都要实现两个线程一个接收一个发送数据,分分秒秒都在跑着两个线程对于手机来说能不耗电吗?当然。那我们要怎样解决呢,我这里给出几个建议,在android中,发消息线程我们可以用一个线程池,有消息发时跑一下相对没那么耗cpu这样不会一直占用cpu了,但是对于接收消息怎么解决呢,对于即时消息来说你不能让他等待一会再跑一下看看有没有消息吧,这样给用户体验很不好,一直轮询的跑看看又没消息有很耗电给人感觉这软件怎么那么流氓不知道在搞什么那么耗电,这样可能就不想用了。那怎么办?这里我给一个建议就是可以使用C/C++自己去封装一个TCP/IP长连接的库,这个库我们可以简单得实现连接,断开,还有发消息(发送线程可以不在这里处理),接收消息(接收线程在这里处理),在C/C++中可以Socket使用阻塞模式接收消息(即,有消息就接收没消息就自动等等在哪里),这样消息也能即时接收,耗电量也相对少很多,这个接收线程可以做得相对简单点,只接收数据,然后直接回调给上层处理就可以。
第二,内存
& & & &手机中内存使用也是很致命,虽然现在的手机内存已经不小了,但是他不是只供应你一个应用使用,所以还得处理耗没有个空间,比如我们发送消息时会有很多数据包,发出去了也就不处理了。这样很多对象就没有得到及时得回收。我建议我们把发送完后的包以及接收到的包处理完后我们顺便把他置空,这样回收就会相对及时一些。
第三,保持长连接
& & & &长连接很多朋友都知道使用,定时发送心跳包来维持,但是如果直接启用一个线程来去触发发送又是一个大隐患(耗电),在android 中我们可以使用定时广播机制实现,我们可以设定广播时间然后再广播接收器中发送心跳包,这个心跳包我们可以直接发送不适用线程,对于发送心跳来说比较频繁,使用线程还是会耗电,第二,我们心跳其实不需要一天到晚得发送,我们可以在用户使用完或者锁屏后25分钟就暂停发送,然后再过25分钟唤醒连接看看有没有消息有就接收,没有继续断开,如果用户打开应用到停止使用有等待25分钟断开然后再连接查看离线消息,这一个循环又能保证新消息的接收又不会一直占用CPU。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3292次
排名:千里之外
转载:12篇修改TCP/IP连接数限制导致无法上网的原因及解决方法_数码电脑_中国百科网
修改TCP/IP连接数限制导致无法上网的原因及解决方法
听说微软新推出了Windows XP SP3,使XP各方面的性能提高了不少。于是我也把我的Windows XP SP2升级到了SP3,为了畅快下载,我还下载了修改TCP/IP链接数限制的补丁,修改链接数为256后,我突然无法上网了。这个问题相信很多人也遇到过,下面小之家就给大家提供一个解决方法。故障表现:1.用CMD命令进入DOS后输入ipconfig/all回车显示如下:Windows IP Configuration An internal error occurred: 不支持请求。Please contact Microsoft Product Support Services for further help.Additional information: Unable to query host name.2.本地连接显示“已连接上”,但是流量为零。连接的详细状态为一片空白; 3.使用命令提示符输入“ping 127.0.0.1”得到如下信息:C:Documents and SettingsNewuser&ping 127.0.0.1Unable to contact IP driver, error code 2如果你的电脑无法上网且出现同样提示,可能和笔者遇到的是同一类故障。故障分析:修改连接数后无法上网,应该是这一操作引起的。而修改连接数补丁会修改tcpip.sys文件,会不会是该文件受到损坏或丢失引起的网络故障呢?解决方法:我使用闪存从其他使用正常的、与本机操作系统一致的电脑中拷贝C:WINDOWSsystem32drivers目录中的tcpip.sys文件替换本机原来的C:WINDOWSsystem32driverstcpip.sys文件,然后重启电脑,我又可以上网了。总结:修改TCP/IP连接数限制的补丁的确会修改tcpip.sys文件,大多数补丁会在修改操作前,备份原来的tcpip.sys文件到同一目录下。如果修改失败,只需要找到备份文件(如tcpip.sys.bak),把它恢复即可。
收录时间:日 21:10:20 来源:网络 作者:匿名
上一篇: &(&&)
创建分享人
喜欢此文章的还喜欢
Copyright by ;All rights reserved. 联系:QQ: