I'm Shendi

最近搞了台服务器,于是就想测试一下网速(与用户之间的速度)

上传速度 客户端发数据给服务端,服务端接收到多少字节就是速度

下载速度 服务端发数据给客户端,客户端接收到多少字节就是速度

避免偏差过大,两个步骤执行时间都为10秒

代码如下

package shendi.test.dos;import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;/*** 网速测试* @author Shendi <a href='tencent://AddContact/?fromId=45&fromSubId=1&subcmd=all&uin=1711680493'>QQ</a>* @version 1.0*/
public class NetSpeed {public volatile static boolean upYes;public volatile static boolean downYes;public static void main(String[] args) throws Exception {ServerSocket server = new ServerSocket(80);new Thread(() -> {try {Socket socket = new Socket("公网ip地址",80);OutputStream output = socket.getOutputStream();while (true) {if (upYes) {output.write(-1);break;}output.write(1);}InputStream input = socket.getInputStream();int downNum = 0;while (true) {if (downYes) {break;}input.read();++downNum;}System.out.println("下载速度:" + (downNum / 10 >> 10) + "kb/s");socket.close();} catch (Exception e) {e.printStackTrace();}}).start();Socket socket = server.accept();// 计时 十秒一次new Thread(() -> {try {Thread.sleep(10000);} catch (InterruptedException e) {e.printStackTrace();}upYes = true;System.out.println("上传测试已完成");try {Thread.sleep(10000);} catch (InterruptedException e) {e.printStackTrace();}downYes=true;System.out.println("下载测试已完成");}).start();//服务端处理InputStream input = socket.getInputStream();int upNum = 0;while (true) {if (upYes) {break;}input.read();++upNum;}System.out.println("上传速度:" + (upNum / 10 >> 10) + "kb/s");OutputStream output = socket.getOutputStream();while (true) {if (downYes) {output.write(-1);break;}output.write(1);}server.close();}}

Java测试服务器的上传速度和下载速度相关推荐

  1. utorrent设置上传速度_utorrent下载速度慢怎样设置 utorrent常用设置图文教程

    软件安装:装机软件必备包 关于电脑装机必须的软件,比如windows office系列办公软件.网页浏览器.杀毒软件.安全防护软件.刻录软件.压缩软件.下载工具.多媒体播放软件.多媒体编辑软件.输入法 ...

  2. linux测试服务器上传速度和下载速度

    导语:这个工具是某大佬写的 但是github上貌似没有了.我是从码云里找的. 创建speedtest.py #!/usr/bin/env python # -*- coding: utf-8 -*- ...

  3. android网络测试上传速度慢,【教程】状态栏添加网速 《双排上传速度和下载速度》(转)...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1.可以显示两种网速,单排.双排.相信有人也加过,而且非常抠门的不发出来. 2.两种网速可以选择显示,有一个设置程序.这个程序也提取来自ADI ...大神 ...

  4. 云服务器上传文件怎么这么慢,百度云上传速度慢怎么办?教你如何加快百度云上传速度...

    现在有很多朋友使用百度网盘进行资料存储,但是上传和下载的速度却总是有些问题.最近有位朋友的百度网盘下载速度很快,但是上传速度很慢的时候,不知道为什么会这样.那么,这种情况应该如何解决呢?下面就来看一下 ...

  5. 云服务器上传文件怎么这么慢,百度云上传速度太慢怎么回事_百度云网盘上传速度太慢怎么解决-win7之家...

    百度云是百度推出的一项云存储服务,给用户们提供文件的网络备份.同步和分享服务,不过最近有用户发现百度云要上传资料的时候发现速度太慢了,这是怎么回事呢,针对这个问题,小编给大家讲解一下百度云网盘上传速度 ...

  6. 电信说的几兆带宽和自己看到的下载/上传速度有什么关系

    李老板开了家小网吧,在电信办了4M的电信宽带(ADSL接入),但是他回到家里用IE浏览器测试下载速度却只有400KB/S左右,而且不太稳定,给其他人传送文件速度只有50多KB/S.但是他问他的朋友张老 ...

  7. 电信说的几兆带宽和自己看到的下载/上传速度有什么关系?

    李老板开了家小网吧,在电信办了4M的电信宽带(ADSL接入),但是他回到家里用IE浏览器测试下载速度却只有400KB/S左右,而且不太稳定,给其他人传送文件速度只有50多KB/S.但是他问他的朋友张老 ...

  8. 如何加速百度云盘上传速度

    说明:上传慢是正常的,这跟百度云没多大关系,而是你宽带的运营商的事,一般宽带都会有一个上传速度和下载速度: 1.一般家用宽带,上传速度一般只有下载速度的八分之一,比如你是10M宽带,下载速度有1M/S ...

  9. linux speedtest-cli工具测试网络带宽、测试网速(下载速度、上传速度和延迟等信息)

    speedtest-cli是一个命令行工具,用于测试网络的带宽.它可以在Linux.macOS和Windows等操作系统上运行.下面是使用speedtest-cli测试网络带宽的步骤: 安装speed ...

最新文章

  1. 【中台】“中台”概念究竟是什么?制造业企业需要拥抱吗?
  2. 【luogu P3377 左偏树(可并堆)】 模板
  3. 储能系统进入数据中心是大势所趋
  4. C语言实现克鲁斯卡尔Kruskal算法求最小生成树(附完整源码)
  5. Nginx重要结构request_t解析之http请求的获取
  6. 【WC2014】紫荆花之恋【替罪羊思想】【动态点分树】【替罪羊树】
  7. 受JAAS保护的JAX-RS端点
  8. 管桩的弹性模量计算公式_桩基设计计算公式
  9. leetcode511. 游戏玩法分析 I(SQL)
  10. UE3 光照 阴影
  11. 深入代码详谈irqbalance【转】
  12. ios 获取是否静音模式_高效人士进阶-IOS
  13. greenplum配置高可用_GREENPLUM介绍之数据库管理(七)- 配置数据库高可用性之master镜像 | 学步园...
  14. maven 把依赖包一起打包
  15. python打印当前时间
  16. 小米8SE 解BL锁教程 申请BootLoader解锁教程
  17. 十大管理之项目进度管理知识点
  18. 精密测量和超精密测量
  19. 用户画像第一章(企业级360°全方位用户画像_环境搭建)
  20. Ubuntu20.04安装中国版firefox

热门文章

  1. 是用来将汉字输入到计算机中的一组,计算机应用基础(windows7+office2010)教学课件作者张巍4.ppt...
  2. Regex.Replace( )
  3. layabox游戏开发经验分享1
  4. Invalid regular expression: /(.*\\__fixtures__\\.*|node_modules[\\\]react[\\...问题
  5. 计算机网络原理(谢希仁第八版)第六章课后习题答案
  6. 电视家海信html安装不了,电视猫安装到电视机 海信电视怎么安装电视家软件?详细操作步骤分享...
  7. 海信电视可以安装鸿蒙系统吗,【2019】海信电视安装第三方应用通用教程
  8. Linux 不需要磁盘清理
  9. potplayer 多个进程_Linux系统编程1.2:进程概念简介
  10. require import