zoukankan      html  css  js  c++  java
  • WinCE 测试网速

            在进行企业级WinCE开发过程中,可能会遇到需要上传附件或者照片到某一指定服务器上的需求。这就需要在现场有有线网络或者无线网络覆盖,实际情况下企业多会选择无线网络。

            现在作者遇到的情况是:在无线网络覆盖的情况下,在某一特定区域,由于某些设备的干扰(具体什么设备查不出来委屈)导致上传速度变慢,可能只有几K每秒,如果需要上传什么几百K或者几M的东东,那用户岂不等死了!于是就想了一个折中办法,先把用户需要上传的附件保存在一个中转文件夹下,上传时需要先判断无线网速,如果此区域网速超过能正常上传的最低网速时,则后台上传附件。为此,需要测试无线上传下载网速。

            测试上传下载网速其实就是上传下载一个文件,计算其用时,将文件大小除以用时就是上传或者下载的网速了。

            代码如下:


    //连接ftp
                FTPClient d = new FTPClient(FtpInfo.ip, FtpInfo.ml, FtpInfo.yhm, FtpInfo.mm, FtpInfo.dk);
                //默认情况下,Stopwatch 实例的运行时间值相当于所有测量的时间间隔的总和。
                //每次调用 Start 时开始累计运行时间计数;
                //每次调用 Stop 时结束当前时间间隔测量,并冻结累计运行时间值。
                //使用 Reset 方法可以清除现有 Stopwatch 实例中的累计运行时间。
                System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
                //测试上传
                stopwatch.Start();
                d.upload(Path.TestPath, ".txt");
                stopwatch.Stop();
                //获取文件大小,此处上传下载用的文件大小相同(测试文件208B)
                var filesize = d.GetFileSize("Test.txt");
                this.labWAN.Text = "上传速度: " + (filesize * 1024 / stopwatch.ElapsedMilliseconds).ToString() + "K/S";
                //若没有 Reset,则会把任务 1 的用时累计进入任务 2
                stopwatch.Reset(); 
                //测试下载
                stopwatch.Start();
                d.GetFile("Test1.txt", Path.TestPath, "Test1.txt");
                stopwatch.Stop();
                this.lblDown.Text = "下载速度: " + (filesize * 1024 / stopwatch.ElapsedMilliseconds).ToString() + "K/S";


    效果图:







  • 相关阅读:
    3-AII--BroadcastReceiver实现锁、开屏、短信监听
    grpc入门2
    关于golang中某些包无法下载的解决方法
    grpc入门
    grpc安装
    小鼠试毒问题(二进制)
    gomod
    POJ 1743 Musical Theme ——后缀数组
    SPOJ DISUBSTR ——后缀数组
    BZOJ 4066 简单题 ——KD-Tree套替罪羊树
  • 原文地址:https://www.cnblogs.com/QiuJL/p/4524206.html
Copyright © 2011-2022 走看看