Java测试网络连接速度源代码 / Java测试网络连接速度源代码

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;

public class Network {

	private static boolean flag;
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		download();
	}

	/**
	 * 测试网络下载速度(测试网络速度)
	 * @return 返回真表示网络连接正常 返回假表示网络连接异常或超时
	 */
	public synchronized static boolean download() {
		flag = false;
		
		//定义子线程 监控是否超时
		new Thread(new Runnable() {
			public void run() {
				int times = 0;
				while(true){
					times++;
					try {
						Thread.sleep(100);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
					//设置超时 5秒后超时跳出
					if(times >= 50){
						flag = true;
						break;
					}
				}
			}
		}).start();
		
		int bytesum = 0;
		int byteread = 0;

		URL url = null;
		try {
			/*
			 * 链接地址可以是任何可以访问的网络链接 用于下载文件 测试下载速度
			 * 如果下载文件内容大小太小 测试结果可能偏低
			 */
			url = new URL("https://mat1.gtimg.com/libs/jquery/1.12.0/jquery.min.js");
		} catch (MalformedURLException e1) {
			e1.printStackTrace();
		}

		try {
			URLConnection conn = url.openConnection();
			InputStream inStream = conn.getInputStream();
			
			byte[] buffer = new byte[1024];
			System.out.println("开始时间:" + new Date().getTime());
			long startTime = System.currentTimeMillis();
			while ((byteread = inStream.read(buffer)) != -1) {
				bytesum += byteread;
				System.out.println(bytesum);
				if(flag == true){
					break;
				}
			}
			
			if(flag == true){
				System.out.println("下载超时!");
				return false;
			}
			
			System.out.println("文件大小:" + (float)bytesum / 1024 + "Kb");
			System.out.println("结束时间:" + new Date().getTime());
			long endTime = System.currentTimeMillis();
			System.out.println("耗时:" + String.valueOf((float)(endTime - startTime)/1000) + "秒");
			
			float down_sd = bytesum/(endTime - startTime)*1000/1024;
			System.out.println("下载速度:" + down_sd + "Kb");
			
			return true;
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return false;
		} catch (IOException e) {
			e.printStackTrace();
			return false;
		}
	}
}

随着语音通信技术的不断发展,语音网关已经成为了许多企业进行语音通信的重要设备。而在运维过程中,查询语音网关的IP地址也是非常重要的一项任务。本文将介绍一些常用的语音网关查询IP方法。

ARP表查询法

ARP表是存储网络设备的MAC地址和IP地址对应关系的表格,查询ARP表就能找到对应设备的IP地址。通过telnet或ssh连接语音网关,进入命令行模式,输入"show arp"命令,即可查询语音网关的ARP表。根据网关MAC地址查找对应的IP地址即可。

CDR查询法

话单记录(CDR)是语音网关记录通话信息的日志,可以查找到话机的IP地址以及与话机建立通话的语音网关IP地址。通过分析CDR日志,可以得到语音网关的IP地址。

网络扫描工具查询法

使用一些网络扫描工具,例如Nmap、Angry IP Scanner等,扫描局域网内的设备,通过MAC地址查找语音网关的IP地址。需要注意的是,使用网络扫描工具需要具有一定的网络知识,否则可能会对网络造成一定的影响。

DHCP查询法

DHCP是动态主机配置协议,可以分配IP地址给网络设备。如果语音网关是通过DHCP方式获取IP地址,那么可以在DHCP服务器的租约列表中查找到语音网关的IP地址。

以上几种方法都是常用的语音网关查询IP的方法。不同的方法适用于不同的情况,需要根据具体的运维需求选择合适的方法。无论采用哪种方法,都需要注意保护网络的安全,避免对网络造成不必要的影响。

文章结束。