自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(139)
  • 收藏
  • 关注

原创 Visual Studio环境搭载

进入Visual Studio 官网后,选择 下载Windows版,并选择Community 2017 社区版本进行下载保存软件到电脑中。安装时间会依据网速、电脑设备等因素会不固定,因此可以在此期间刷个微博、抖音啥的。按钮 ,如果出现以下模板选项,证明安装成功,并可以创建C++项目!在百度搜索 visual studio,选择 如下图中的选项。安装成功后提示重启,点击重启完成剩余配置。双击运行下载的安装文件,弹出安装界面。这一选项,如需其他,自行勾选。至此,C++的开发环境搭建完毕。点击安装按钮开始安装。

2024-05-14 21:13:33 223

原创 CMainFrame中的OnCreatClient()函数

在MFC(Microsoft Foundation Classes)框架中,`OnCreateClient()`函数是`CFrameWnd`类(以及继承自它的类,如`CMainFrame`)的一个虚拟成员函数。在这个例子中,`m_wndView`是一个假设的视图类成员变量,通过`Create`函数创建视图窗口,并将其附加到框架窗口的客户区。如果视图创建成功,函数应返回`TRUE`;例如,如果你的应用程序使用文档/视图架构,你可能会在这个函数中创建并附加一个视图类的实例到框架窗口的客户区。

2024-05-13 18:47:55 203

原创 MFC--CCreateContext结构体

这段代码片段展示了如何使用`CCreateContext`结构体在MFC应用程序中动态创建并显示一个新的视图(在这里是`CUserDlg`类的一个实例)到一个拆分窗格(`CSplitterWnd`)中。- 在刚刚清空的位置(第0行第1列)使用`CCreateContext`中的信息创建一个新的`CUserDlg`视图,并指定了初始大小为600x500像素。- 设置当前框架窗口指针,这里的`this`通常指的是当前拥有拆分窗格的窗口对象,用于指定新视图的上下文框架。

2024-05-11 17:21:02 1658

原创 CMainFrame的OnCreate()函数

OnCreate()`函数是一个非常重要的成员函数,其主要职责是响应`WM_CREATE`消息。请注意,返回值`0`表示窗口创建成功,而`-1`通常表示创建过程中出现了错误。3. **创建子窗口**:如菜单栏、工具栏、状态栏等UI组件通常在此时被创建并附加到主框架窗口上。1. **初始化成员变量**:设置窗口的初始状态或为类的成员变量赋予初始值。2. **配置窗口风格**:可以通过修改窗口的样式来改变其行为或外观。4. **注册消息处理程序**:可以注册窗口类以处理特定的消息或命令。

2024-05-10 19:10:59 495

原创 Qt中使用静态函数调用emit信号

在这个例子中,ConnectionHelper::triggerSendMessage是一个静态函数,它接收一个MessageSender实例和一个消息字符串作为参数,然后调用该实例的槽函数doSendMessage,进而发射sendMessage信号。使用静态函数作为连接助手,意味着你创建一个静态函数来帮助触发某个QObject实例的信号,而不是直接定义静态信号(因为Qt不支持)。假设我们有一个MessageSender类,它有一个信号用于发送消息,我们想通过一个静态函数来辅助触发这个信号。

2024-05-08 14:08:24 926

原创 函数调用方式__stdcall和__cdecl详解

**名称修饰**:除了函数名前缀`_`之外,在Visual C++中,函数名后还会附加一个`@`符号,后面跟着参数的总字节数,例如`_MyFunction@16`表示有四个字节的参数(32位系统中,每个参数通常占4字节,共四个参数)。- **名称修饰**:在Visual C++等编译器中,函数名通常会被编译器加上前缀`_`,对于C++成员函数还会加上类名修饰。- **参数传递顺序**:与`__cdecl`相同,参数也是从右到左入栈。- **默认情况**:这是C和C++程序的默认调用约定。

2024-05-07 16:26:12 253

原创 const与define用法区别

现代C++编程推荐优先使用`const`、`constexpr`和枚举类型(`enum class`)来代替`#define`定义常量。- `#define`: 宏在预处理器阶段就被展开,不分配内存,它们实际上并不存在于编译后的程序中。- `const`: 定义的常量具有数据类型,因此在编译期间可以进行类型检查,有助于避免类型错误。- `#define`: 定义的宏在整个文件中都是可见的,没有作用域限制,容易引起命名冲突。- `const`: 在编译阶段处理,是真正的变量,只是不可修改。

2024-05-02 00:33:05 279

原创 在C++中,单冒号(:)的作用

在构造函数的定义中,单冒号后面紧跟着的是成员初始化列表。在类定义时,如果类是从另一个基类继承而来,单冒号用于指定继承关系,如 `class DerivedClass : public BaseClass`。这里,`public` 是访问修饰符,指定继承的访问权限。在这个例子中,构造函数体为空,因为所有必要的初始化工作已经在成员变量初始化列表中完成了。总结来说,单冒号在C++中主要用于构造函数初始化列表、继承关系的声明以及条件运算符中,是语法中不可或缺的一部分,用于明确指定初始化、继承和条件选择等重要概念。

2024-04-29 10:08:47 432

原创 qt中lineEdit设置为不可编辑

setEnabled(false)`会禁用整个`QLineEdit`控件,使其不仅无法编辑,而且视觉上看起来更“灰暗”或“失效”。`setReadOnly(true)`会使`QLineEdit`变为只读模式,用户不能直接修改其文本内容,但仍能通过代码更改,并且文本仍可被选中、复制等。通常情况下,如果只是希望禁止用户输入而不影响其他交互(如文本可见、可复制),使用`setReadOnly(true)`更为合适。如果需要完全禁用该控件的所有交互,使用`setEnabled(false)`更加合适。

2024-04-28 19:50:07 1129

原创 qt环境下给lineEdit设置数值精度为0.5

如果您希望用户只能输入以0.5为步进的数值,可以直接使用`QDoubleSpinBox`代替`QLineEdit`。在Qt环境中,要为`QLineEdit`控件设置数值输入的精度为0.5,即允许用户输入以0.5为步进单位的数值,通常并不直接通过`QLineEdit`本身来实现,因为`QLineEdit`默认用于接收任意文本输入。您可以连接`QLineEdit`的`textEdited`信号,当文本发生变化时进行实时验证和格式化。若坚持使用`QLineEdit`,则需要自行实现相关验证与转换逻辑。

2024-04-27 12:05:38 763

原创 qt中的取整函数

在实际编程中,根据具体应用场景选择合适的取整函数即可。如果您需要其他类型的取整行为(如向零取整、 bankers rounding 等),可能需要借助标准C++库或其他第三方库提供的功能。如果小数部分恰好为0.5,它遵循“四舍六入五成双”的规则,即如果前一位数字是奇数,向上舍入;该函数返回大于或等于给定浮点数的最小整数。如果输入值是正数,它会将小数部分去掉并增加到下一个整数;如果是负数,它会返回与输入值相等的整数(即不改变负数的值)。对于负数,它会减去小数部分并进一步减一,使结果更小。

2024-04-26 17:50:58 949

原创 qt可以分批次读取一个大文件吗

Qt 提供了多种方法来分批次(分块)读取大文件,避免一次性加载整个文件到内存。以下是一种常见的分批次读取大文件的方法,使用。

2024-04-17 14:11:00 316

原创 VS快捷键

13. **Ctrl + Shift + Tab**: 切换打开的文件(反向)11. **Ctrl + K, Ctrl + U**: 取消注释选定的代码。12. **Ctrl + K, Ctrl + D**: 格式化选定的代码。10. **Ctrl + K, Ctrl + C**: 注释选定的代码。13. **Ctrl + K, Ctrl + F**: 格式化整个文档。6. **Ctrl + Shift + V**: 粘贴到匹配的代码。3. **Ctrl + Shift + N**: 新建项目。

2024-04-09 23:23:45 240

原创 【C++对C语言的拓展】引用--3

如果 ref 不是 const 的,那么改变 ref 值,修改的是 temp,而不是 val。(1)const 对象的引用必须是 const 的,将普通引用绑定到 const 对象是不。而被引用的对象是 val,是非 const 的,所以 val。的修改并未 影响 ref 的值,而 ref2 的值发生了相应的改变。const 引用的目的是,禁止通过修改引用值来改变被引用的对象。(2)const 引用可使用相关类型的对象(常量,非同类型的变量或表达式)初。

2024-04-08 08:43:31 561

原创 【C++对C语言的拓展】引用--2

2)C++编译器在编译过程中使用常指针作为引用的内部实现,因此引用所占。c++中引入引用后,可以用引用解决的问题。3)从使用的角度,引用会让人误会其只是一个别名,没有自己的存储空间。引用在实现上,只不过是把:间接赋值成立的三个条件的后两步和二为一.1)引用作为其它变量的别名而存在,因此在一些场合可以代替指针。可以成为其他引用的初始值(可作为右值使用,也可作为左值使用)一个实参地址,传给了形参引用(常量指针)。1) 引用在C++中的内部实现是一个常指针。1.7 引用作为函数的返回值(引用当左值)

2024-04-07 00:02:49 323

原创 【 C++对C语言的拓展 】 引用

变量名,本身是一段内存的引用,即别名(alias). 引用可以看作一个已定。3 可对引用,再次引用。多次引用的结果,是某一变量具有多个别名。1 引用没有定义,是一种关系型声明。声明它和原有某一变量(实体)的关。与被引用的变量有相同的地。普通引用在声明时必须用其它的变量进行初始化,引用作为函数参数声。4 &符号前有数据类型时,是引用。变量名实质上是一段连续存储空间的别名,是一个标号(门牌号)引用的语法:Type& name = var;2 声明的时候必须初始化,一经声明,不可变更。

2024-04-06 00:46:25 270

原创 windows编程模型

类似地, 在创建一个窗口前, 也必须对该类型的窗口进行设计, 指定窗口的特征。在Windows中,窗口的特征就是由WNDCLASS结构体来定义的,我们只需给WNDCLASS结构体对应的成员赋值,即可完成窗口类的设计。我们在生产一个型号的汽车之前, 首先要对该型号的汽车进行设计, 在图纸上画出汽车的结构图, 设计各个零部件, 同时还要给该型号的汽车取一个响亮的名字, 例如“宝马 x6”。:指定创建的窗口的样式,常指定为指WS_OVERLAPPEDWINDOW类型,这是一种多种窗口类型的组合类型。

2024-04-05 00:15:00 1848

原创 windows消息机制--1基本概念解释

在 Windows 程序中, 有各种各样的资源( 窗口、 图标、光标,画刷等), 系统在创建这些资源时会为它们分配内存, 并返回标识这些资源的标识号, 即句柄。在Windows平台下,也有类似的函数可供调用:不同的是,这些函数是由Windows操作系统本身提供的。例如,当用户在窗口中画图的时候,按下鼠标左键,此时,操作系统会感知到这一事件,于是将这个事件包装成一个消息,投递到应用程序的消息队列中,等待应用程序的处理。在 Windows 应用程序中, 窗口是通过窗口句柄( HWND) 来标识的。

2024-04-04 00:15:00 877

原创 python爱心代码示例

请注意,上述代码片段并未给出完整的爱心形状绘制逻辑,您需要补充实际的绘图步骤。Python爱心代码是一种用Python编程语言实现的图形化表达方式,可以通过一系列的代码来绘制出一个爱心形状。这段代码使用了Python的turtle库来实现绘图功能。通过设置画布、画笔的属性和调用相应的绘图函数,可以绘制出一个红色的爱心形状。Python爱心代码是一种用于绘制爱心形状的代码,通常用于表达对某人或某事的喜爱和关怀。这段代码使用了两个嵌套的循环来遍历爱心形状的每个点,并根据点的位置判断是否需要打印"*"字符。

2024-04-03 10:13:24 487

原创 Vxworks学习建议

VxWorks 是一款知名的实时操作系统(RTOS),由 Wind River Systems 开发,常用于航空航天、国防、工业自动化、医疗设备等对实时性和可靠性要求极高的领域。最后,持续关注VxWorks的官方文档和技术更新,因为它是一个专业级别的操作系统,官方资源通常是学习和实践的最佳途径。- 研究VxWorks的核心特性,如多任务处理、任务调度、中断管理、内存管理、I/O子系统等。- 了解VxWorks的任务(Task)和任务间通信机制,如信号量、消息队列、共享内存等。

2024-04-03 10:13:03 340

原创 Enigma Virtual Box用法 exe封包工具介绍

Enigma Virtual Box 是一款用于Windows平台上的软件虚拟化工具,主要用于将应用程序及其所有相关文件(如动态链接库DLL、资源文件、配置文件等)封装到单一可执行文件中,这样无需实际安装或解压,用户可以直接运行这个单个EXE文件来启动应用程序。Enigma Virtual Box的优势在于其能虚拟化这些文件,即在内存中加载而不是实际写入硬盘,既保证了程序运行的完整性,又减少了对系统环境的影响。- 在软件界面中设置封包后的单个exe文件保存的位置以及希望赋予的文件名。

2024-04-02 07:43:17 1077 1

原创 matlab中角度-弧度转化

这里 `deg` 是你想要转换的角度值,`pi` 是 MATLAB 内置的圆周率常量。% 弧度值 π/4 对应 45 度角。使用这些函数可以简化转换过程,并避免手动计算带来的误差。这里 `rad` 是你想要转换的弧度值。

2024-04-02 07:42:19 940

原创 QNetworkAccessmanager用法

QNetworkAccessManager` 是 Qt 网络模块中的一个核心类,它负责处理所有的网络请求,如 HTTP 请求、FTP 下载、上传文件等。除了 GET 请求之外,还可以使用 `QNetworkAccessManager` 的其他方法,如 `post()` 发送 POST 请求,或 `put()`、`upload()` 等方法进行文件上传等复杂操作。- `replyFinished` 槽函数会在网络请求完成后被调用,处理收到的数据或错误信息。// 处理网络请求的完成事件。

2024-04-01 12:05:19 462

原创 【QT】setContextMenuPolicy()函数用法

通过调用 `setContextMenuPolicy(Qt::ContextMenuPolicy policy)` 函数,可以设定控件在用户右击时的行为,比如是否启用默认上下文菜单、禁用上下文菜单,或者开启自定义上下文菜单(通过 `Qt::CustomContextMenu` 策略并连接 `customContextMenuRequested(const QPoint &pos)` 信号)。使用控件的默认上下文菜单处理,通常是调用 `contextMenuEvent()` 函数来处理上下文菜单事件。

2024-04-01 12:05:04 1414

原创 VS学习建议

学习如何使用大纲视图(Outlining)、类视图(Class View)和解决方案资源管理器(Solution Explorer)进行代码导航。- 如果需要,学习如何使用Visual Studio进行跨平台开发,如使用.NET Core开发跨平台应用程序,或使用C++进行跨平台编程。- 掌握使用代码编辑器的基本功能,如智能提示(IntelliSense)、代码高亮、格式化、重构、查找替换等。- 学习如何新建、打开、保存、构建和调试不同类型的项目,如C++、C#、VB.NET、Python等。

2024-03-31 00:49:17 179

原创 VC++6. 0学习建议

尽管目前主流软件开发环境已经升级到了Visual Studio的较新版本,但如果出于教学目的或维护遗留项目的需求,了解和学习VC++ 6.0的基础使用仍然有其价值。不过,VC++ 6.0的基础知识对于理解C++语言的核心概念和传统的Windows编程仍有很大的帮助作用。- 虽然重点是学习VC++ 6.0,但是理解现代C++标准的发展以及如何将老项目的知识迁移到更新的IDE如Visual Studio 2019等也是非常有用的。- 编写和编辑C++代码,理解预处理器指令、注释、变量声明、函数定义等基础知识。

2024-03-31 00:48:55 227

原创 Qt学习建议

总之,Qt 学习是一个循序渐进的过程,从基本的 GUI 编程开始,逐渐过渡到更复杂的组件使用和框架理解。- 利用官方文档(Qt Documentation),参加在线课程,阅读 Qt 入门教程,甚至参考经典的书籍如《C++ GUI Programming with Qt 4》(若为旧版本)或对应新版Qt的书籍。- 学习 Qt Widgets 库,它是 Qt 提供的用于创建桌面 GUI 的模块,包括 QLabel、QPushButton、QLineEdit、QMainWindow 等各种常用控件的使用方法。

2024-03-30 00:04:23 317

原创 C++学习建议

6. **现代C++特性**:随着C++11及后续标准的发布,C++引入了许多新特性,比如右值引用、移动语义、lambda表达式、自动类型推断(auto)、范围基础for循环、 constexpr、原子操作等,这些都需要逐渐掌握。1. **基础语法**:首先掌握C++的基础语法,如变量声明与赋值、数据类型、运算符、流程控制语句(if-else、switch、for、while、do-while)、数组、指针、字符串等。8. **阅读源码**:阅读开源项目的C++源码有助于理解优秀的编码风格和最佳实践。

2024-03-30 00:04:05 945

原创 【QT学习笔记】qt配置快捷键:全局快捷键|应用程序中的快捷键

另外,如果你提到的是为Qt应用程序中的特定功能自定义快捷键,你需要在编写代码时调用相关API来设置,例如对于QWidget及其子类,可以使用`QShortcut`类来关联一个动作或槽函数与键盘快捷键。- 在打开的选项窗口中,找到并点击“键盘”(Keyboard)或“环境”下的“快捷键”(Shortcuts)类别。- 若要更改某个命令的快捷键,首先选择该命令,然后在右侧区域点击已有的快捷键或者直接输入新的快捷键组合。- 按下新的快捷键后,系统会更新该命令的快捷键设置。对象,并设置了它的快捷键。

2024-03-29 00:01:33 1425

原创 【QT学习笔记】.pro文件

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于Qt4版本 才包含widget模块。在这里使用“+=”,是因为我们添加我们的配置选项到任何一个已经存在中。TARGET = QtFirst //应用程序名 生成的.exe程序名称。HEADERS += mywidget.h //头文件。CONFIG += c++11 //使用c++11的特性。QT += core gui //包含的模块。从“#”开始,到这一行结束。

2024-03-29 00:00:38 357

原创 namespace命名空间

加上using声明(using namespace std) 或using指示(如std::string、1) 当使用的时候,该头文件没有定义全局命名空间,必须使用。1)当使用时,相当于在c中调用库函数,使用的是全局命。二: 由于namespace的概念,使用C++标准程序库的任何标识符时,可。2) 当使用的时候,该头文件没有定义全局命名空间,必须。std是c++标准命名空间,c++标准程序库中的所有标识符都被定义在std。

2024-03-28 00:29:03 977

原创 lambda表达式

3. **箭头操作符(Arrow Operator)**:`->`,在C++和Java中用于分隔参数列表和返回类型声明(在C++中)或者函数体(在Java中,不需要明确写出返回类型,会自动推断)。4. **函数体(Body)**:包含要执行的逻辑,可以是单个表达式(在这种情况下通常隐式返回该表达式的结果)或一个代码块(可能包含若干语句,并可以显式返回结果)。1. **捕获列表(Captures)**(在C++中):可选部分,用于捕获外部作用域的变量,可以是值捕获或引用捕获。// C++ 中的基本结构。

2024-03-28 00:28:42 273

原创 【QT学习笔记】目录 (不定时更新)

报错。

2024-03-27 22:51:43 468

原创 Qt消息机制和事件--2

Qt 的事件是整个 Qt 框架的核心机制之一,也比较复杂。说它复杂,更多是因为它涉及到的函数众多,而处理方法也很多,有时候让人难以选择。现在我们简单总结一下 Qt 中的事件机制。Qt 中有很多种事件:鼠标事件、键盘事件、大小改变的事件、位置移动的事件等等。所有事件对应一个事件处理函数,在这个事件处理函数中用一个很大的分支语句进行选择,其代表作就是 win32 API 的WndProc()函数:在这个函数中,我们需要使用switch语句,选择message参数的类型进行处理,典型代码是:// ...

2024-03-27 00:17:15 1781

原创 Qt消息机制和事件

我们可以看到,同前面我们所说的一样,Qt 也是使用QEvent::type()判断事件类型,然后调用了特定的事件处理器。这是因为我们只处理的KeyPress类型的事件,并且如果不是KeyPress事件,则直接返回 false,鼠标事件根本不会被转发,也就没有了鼠标事件。对于其它我们不关心的事件,则需要调用父类的event()函数继续转发,否则这个组件就只能处理我们定义的事件了。我们重写了它的event()函数,这个函数有一个QEvent对象作为参数,也就是需要转发的事件对象。函数返回值是 bool 类型。

2024-03-27 00:16:32 1093

原创 【创建QT项目】使用向导创建

默认的基类有QMainWindow、QWidget以及QDialog三个,我们可以选择QWidget(类似于空窗口),这里我们可以先创建一个不带UI的界面,继续下一步。系统会默认给我们添加main.cpp、mywidget.cpp、 mywidget.h和一个.pro项目文件,点击完成,即可创建出一个Qt桌面程序。打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项。弹出New Project对话框,选择Qt Widgets Application,

2024-03-26 11:19:31 323

原创 VC++ class wizard介绍

当Object IDs列表框中选定当前类名时,Message列表框前部分显示的是当前类所能覆盖的虚拟函数,后部分显示的是能够处理的消息。利用ClassWizard可以很轻松地完成一些最基本、最普通的工作,如在自己的应用程序中创建新类、映射消息为其添加消息处理函数、覆盖虚拟函数、将对话框中的控件与某个变量相关联等。而当前消息则是在Message列表框中选定的消息。所谓能映射成员变量的控件,就是可以使用类中的成员变量来代表某个控件,当控件发生改变时,该成员变量的值也发生相应变化。

2024-03-26 11:15:27 573

原创 union在c语言中什么用途

在这个例子中,首先我们输出了data所占用的内存大小,打印结果为16个字节(因为int和float都占用4个字节,而char数组占用12个字节,所以union的大小为12个字节的最大值,即16个字节)。1. 节省内存:由于union只占用其成员中最大的数据类型所占用的内存空间,可以在不同的情况下使用同一块内存来存储不同类型的数据,从而节省内存空间。在C语言中,union是一种特殊的数据类型,可以容纳多个不同类型的变量,但在同一时刻只能使用其中一个变量。需要注意的是,在同一时刻只能使用其中一个成员。

2024-03-25 21:10:18 576

原创 C++ union用法

注意最后输出的整数值可能并不是预期的3.14的整数表示,这是因为在赋值给float成员后没有重新赋值整数成员,导致整数成员保留了原始的二进制表示。// 可能产生不确定的结果。- union的大小是根据最大成员的大小来决定的,所以应该避免在union中存储过大的数据类型。1. 声明union类型:使用关键字union加上union名称来声明一个union类型。3. 使用union变量:使用点操作符或箭头操作符来访问union变量的成员。2. 定义union变量:使用声明的union类型来定义union变量。

2024-03-25 21:07:30 727

原创 Qt5乱码的问题

现状:网上总是存在众多关于Qt5乱码的问题和文章,离谱的是很多都是用Qt creator这个工具,最后得到的结论是Qt在中文上跨平台做的不好,比如在中文处理上要用类似latin1等函数。澄清:Qt对中文支持没啥问题,也不用什么特殊的函数,为了解决烦恼,必须了解下文件编码知识,比如utf-8可以不要bom,utf-32为啥需要bom等等。,基本不再有乱码,绝大多数情况下,根本不需要类似latin1等函数,用不到的!1,在项目pro文件中加上这段代码,VS编译器默认使用GBK编码,需要特别配置。

2024-03-24 19:25:47 676

Wireshark网络封包分析软件

Wireshark 是一款网络封包分析软件。它可以用于捕获和分析计算机网络中传输的数据包,帮助用户深入了解网络通信和故障排除。Wireshark 提供直观的图形界面,并支持多种协议的解析,如 Ethernet、TCP、UDP、HTTP 等。使用 Wireshark,用户可以查看和分析网络流量,检测网络问题、优化网络性能,并且对于网络安全方面的审计和监控也非常有用。

2024-03-06

网口灌包测试工具iperf1.7.0.rar

网口灌包测试工具 iperf1.7.0.rar 发送端:iperf.exe -u -c 226.0.0.80 -p 8000 -b 4M -t 60000 -i 1 接收端:iperf.exe -s -u -B 226.0.0.80 -p 8000 -i 1 下面逐个解释各个参数的含义: - **iperf.exe**:Iperf 是一个用于测量TCP和UDP带宽质量以及网络延迟的小型工具。 - **-u**:指定使用 UDP 协议进行传输测试,而不是默认的 TCP。 - **-c 226.0.0.80**:指定服务器端的 IP 地址为 `226.0.0.80`,客户端将连接到这个地址进行性能测试。 - **-p 8000**:设置使用的端口号为 `8000`,客户端将在该端口上与服务器建立连接。 - **-b 4M**:设置带宽限制为 `4M`,即4兆比特每秒(Mbps)。这意味着客户端会尝试以最大4Mbps的速度发送数据。 - **-t 60000**:设置测试运行的时间长度为 `60000` 秒,即10分钟。 - **-i 1**:设置报告间隔时间为 `1` 秒

2024-03-06

basenew数据分析软件

besnew二进制查看工具,同样支持十六进制、八进制的查看,包括处理,分析,识别帧,右键管理员权限运行

2024-03-06

串口助手+虚拟串口+网络调试助手

【网络调试助手】 一、使用场景: 项目定制需求:前端的车载终端把gps、报警信息、报警图片、其他检测数据发往约定的第三方服务器,车载终端通过公网(SIM拨号或者有线网)以udp或者tcp连接服务器,并把数据发往服务器。因为项目开发时一般要不到现场实际服务器的ip和端口以及服务器环境。那么就可以通过NetAssist网络助手工具模拟服务器,模拟测试车载端的数据是否能够发送正常、正确。 二、软件介绍 (1)软件界面:协议类型可下拉选择tcp/udp及Server或者Client (2)把协议类型、IP地址(PC机地址) 端口配置好后,点击“连接”即可。另外接收区和发送区可以根据要求进行配置。 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 【虚拟串口及串口调试助手】 虚拟串口可以在mcu中直接虚拟一个串口,这样我们就可以使用串口助手直接查看该串口数据的收发情况,对于调试串口助手上位机非常有帮助

2024-02-24

UDP、TCP网络调试助手

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 一、使用场景: 项目定制需求:前端的车载终端把gps、报警信息、报警图片、其他检测数据发往约定的第三方服务器,车载终端通过公网(SIM拨号或者有线网)以udp或者tcp连接服务器,并把数据发往服务器。因为项目开发时一般要不到现场实际服务器的ip和端口以及服务器环境。那么就可以通过NetAssist网络助手工具模拟服务器,模拟测试车载端的数据是否能够发送正常、正确。 /////////////////////////////////////////////////////////////////// 二、软件介绍 (1)软件界面:协议类型可下拉选择tcp/udp及Server或者Client (2)把协议类型、IP地址(PC机地址) 端口配置好后,点击“连接”即可。另外接收区和发送区可以根据要求进行配置。

2024-02-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除