安卓开发中获取服务器网络延迟(ping)
来源:互联网 发布:淘宝旺铺专业版要钱吗 编辑:程序博客网 时间:2024/05/16 18:22
在开发中,突然遇到了一套根据服务器的网络延迟(ping),分为不同的等级<,然后根据等级做出不同的处理,在网上找资料找了很久,终于解决了,现把他记录下来,
贴上核心代码。
主要是开辟了一个服务,服务开启后就不断 的每隔1s去ping一次服务器,获取到延迟,然后再使用EventBus将传递出去,需要的地方,再做出处理
p = Runtime.getRuntime().exec("/system/bin/ping -c 4 "+"117.141.138.101");
4代表的是每次尝试的次数,"117.141.138.101"代表的是网络服务器的地址,
贴上核心代码。
String delay =newString();Process p =null;try{p = Runtime.getRuntime().exec("/system/bin/ping -c 4 "+"117.141.138.101");BufferedReader buf =newBufferedReader(newInputStreamReader(p.getInputStream()));String str =newString();while((str=buf.readLine())!=null){if(str.contains("avg")){inti=str.indexOf("/",20);intj=str.indexOf(".", i);System.out.println("延迟:"+str.substring(i+1, j));delay =str.substring(i+1, j);}}if(delay.equals("")){EventBusUtils.post(newNetEvent((long)1000));}else{EventBusUtils.post(newNetEvent(Long.parseLong(delay)));}}catch(IOException e) {e.printStackTrace();}
主要是开辟了一个服务,服务开启后就不断 的每隔1s去ping一次服务器,获取到延迟,然后再使用EventBus将传递出去,需要的地方,再做出处理
p = Runtime.getRuntime().exec("/system/bin/ping -c 4 "+"117.141.138.101");
4代表的是每次尝试的次数,"117.141.138.101"代表的是网络服务器的地址,
0 0
- 安卓开发中获取服务器网络延迟(ping)
- android ping 网络延迟
- 安卓开发中如何获取网络图片并设置到ImageView?
- 安卓支付之ping++开发
- 安卓开发 局域网UDP获取服务器Ip地址
- 安卓开发29:获取网络状态工具类
- 安卓开发获取网络数据utile工具
- 安卓获取网络类型
- 安卓开发中服务器与客户端的通信
- 安卓延迟执行
- 安卓延迟操作
- 安卓服务器开发常见问题:
- 安卓开发——AndroidStudio中获取联网权限
- 安卓开发获取SDCard中某个目录下图片
- 安卓开发中根据城市名获取经纬度
- 获取安卓开发工具包
- c#如何检查局域网内服务器是否连通(调用外部Ping命令获取网络连接情况)
- c#如何检查局域网内服务器是否连通(调用外部Ping命令获取网络连接情况)
- [LeetCode]240. Search a 2D Matrix II
- 查看Linux内核版本的命令
- JSON解析、JAVA常用的工具类、JAVA集合框架、JAVA泛型、枚举
- 使用CSDN Markdown在线编辑器写博客
- linuxkit试玩
- 安卓开发中获取服务器网络延迟(ping)
- 使用Java HttpClient访问淘宝Ip查询接口获取具体位置信息
- Java和JavaScript中使用Json方法大全
- 安装WINDOWS缺少计算机所需的介质驱动程序解决方法
- Java bitmap图片读写
- 腾讯云主机ubuntu配置Tomcat及部署网站(小白鸡教程)(注意事项)
- 欢迎使用CSDN-markdown编辑器
- 【代码片-1】 java程序员面试宝典笔记
- compress函数用法详解