当前位置: 首页 > news >正文

新闻类的网站有哪些类型搜索推广渠道

新闻类的网站有哪些类型,搜索推广渠道,传奇sf网站怎么做,贵阳手机银行app下载本文目录一、测试用命令二、iperf3状态机中各个状态解析三、iperf3状态机迁移分析K-初始化测试对象(NA--->初始化状态):A-服务器端测试对象开始运行(初始化状态--->IPERF_START状态):B-建立控制连接(初始化状态-…

本文目录

  • 一、测试用命令
  • 二、iperf3状态机中各个状态解析
  • 三、iperf3状态机迁移分析
    • K-初始化测试对象(NA--->初始化状态):
    • A-服务器端测试对象开始运行(初始化状态--->IPERF_START状态):
    • B-建立控制连接(初始化状态--->IPERF_START状态)::
    • C-完成服务端与客户端的配置参数交换:

这里描述的是iperf3进行单向TCP正向流测试时的状态机转换过程,以及转换过程中的代码调用关系。通过前面的iperf3代码主要架构分析之main函数主要流程我们已经知道iperf3虽然是C语言编写的,但它是以面向对象的方式实现的,所以本文中讲述的状态机是以每个测试对象(即为每次测试实例的运行过程创建一个测试对象,从测试开始到测试进行到测试结束输入测试报告管理测试实例的整个生命周期)为单位的。每个测试对象都拥有独立的状态机。所以这里同时也引也客户端和服务端都有自己的独立的状态机,客户端的状态会通过ctrl_socket同步到服务端,引发服务端状态变化。因为客户端状态切换

一、测试用命令

在正常的测试过程中,使用如下图描述的命令启动iperf3进行单向TCP正向流测试:

服务端

iperf3 -s

客户端
总共发送8K数据,每次发送1K

iperf3 -c 127.0.0.1 -n 8K -l 1K

二、iperf3状态机中各个状态解析

有限状态机编程通常是由当前状态,事件+条件,动作,状态迁移(或称为目标状态)的五元组组成的。所以下面我们也会用这五元组来描述状态。如图所示,iperf3在正常情况下(客户端启动测试后,就一直跑到测试完成,中途不中断测试)有10个状态。状态迁移方向如如箭头所示,状态迁移发生的”事件+条件“由箭头上的字母标识,会在下一章中详细解析。
在这里插入图片描述

  • 初始化状态
    服务端开始运行,创建测试对象后,测试对象就直接进入这个状态,这是一个中间状态,测试对象不会一停留在这个状态下。
  • IPERF_START状态
    测试对象创建好后,会开始创建监听端口,并进入监听状态,然后进入到IPERF_START状态下。
  • PARAM_EXCHANGE状态
    在这个状态下,通过控制链接完成客户端和服务端的参数交换,即服务端收取客户端发过过的配置参数。
  • CREATE_STREAM状态
    未完待续
  • TEST_START状态
    未完待续
  • TEST_RUNNING状态
    未完待续
  • TEST_END状态
    未完待续
  • EXCHANGE_RESULT状态
    未完待续
  • DISPLAY_RESULT状态
    未完待续
  • IPERF_DONE状态
    未完待续

三、iperf3状态机迁移分析

K-初始化测试对象(NA—>初始化状态):

服务端开始运行,创建测试对象后,对象状态会直接初始化初始化状态,函数调用关系如下

debug out: func = main                     ,line =   62, file = main.c
debug out: func = iperf_new_test           ,line = 2732, file = iperf_api.c
debug out: set the state from 0
状态机元组名称状态机元组当前值
当前状态
事件+条件perf3做为服务端被启动运行
动作K-初始化测试对象
下一状态初始化状态

A-服务器端测试对象开始运行(初始化状态—>IPERF_START状态):

服务端开始运行,创建测试对象后,读取配置参数并创建服务端监听端口,状态将从 初始化状态 变成 IPERF_START状态

debug out: func = main                     ,line =   62, file = main.c
debug out: func = iperf_new_test           ,line = 2732, file = iperf_api.c
debug out: set the state from 0
-----------------------------------------------------------------------------------
debug out: func = iperf_defaults           ,line = 2796, file = iperf_api.c
debug out: func = iperf_parse_arguments    ,line = 1125, file = iperf_api.c
debug out: func = run                      ,line =  145, file = main.c
debug out: func = iperf_run_server         ,line =  456, file = iperf_server_api.c
debug out: func = iperf_server_listen      ,line =   72, file = iperf_server_api.c
debug out: func = netannounce              ,line =  263, file = net.c
debug out: func = netannounce              ,line =  354, file = net.c
debug out: create listen socket
debug out: set the state from 0 to 15
-----------------------------------------------------------------------------------
状态机元组名称状态机元组当前值
当前状态初始化状态
事件+条件进入初始化状态后无条件继续运行
动作A-服务器端测试对象开始运行,创建服务端监听端口
下一状态IPERF_START状态

B-建立控制连接(初始化状态—>IPERF_START状态)::

调用select函数,等待并接受客户端发起的控制链接(test->ctrl_sck指向控制链接) 。

......
-----------------------------------------------------------------------------------
debug out: func = iperf_defaults           ,line = 2796, file = iperf_api.c
debug out: func = iperf_parse_arguments    ,line = 1125, file = iperf_api.c
debug out: func = run                      ,line =  145, file = main.c
debug out: func = iperf_run_server         ,line =  456, file = iperf_server_api.c
debug out: func = iperf_server_listen      ,line =   72, file = iperf_server_api.c
debug out: func = netannounce              ,line =  263, file = net.c
debug out: func = netannounce              ,line =  354, file = net.c
debug out: create listen socket
debug out: set the state from 0 to 15
-----------------------------------------------------------------------------------
debug out: func = iperf_run_server         ,line =  498, file = iperf_server_api.c
debug out: func = iperf_run_server         ,line =  587, file = iperf_server_api.c
debug out: func = iperf_accept             ,line =  154, file = iperf_server_api.c
debug out: set the state from 15 to 9
-----------------------------------------------------------------------------------
状态机元组名称状态机元组当前值
当前状态IPERF_START状态
事件+条件收到客户端发起的控制链接连接请求
动作B-建立控制链接
下一状态PARAM_EXCHANGE状态

C-完成服务端与客户端的配置参数交换:

调用iperf_exchange_parameters函数,接收客户端通过控制链接发送的配置参数,完成服务端与客户端的参数交换 。

......
-----------------------------------------------------------------------------------
debug out: func = iperf_run_server         ,line =  498, file = iperf_server_api.c
debug out: func = iperf_run_server         ,line =  587, file = iperf_server_api.c
debug out: func = iperf_accept             ,line =  154, file = iperf_server_api.c
debug out: set the state from 15 to 9
-----------------------------------------------------------------------------------
debug out: func = iperf_exchange_parameters,line = 2067, file = iperf_api.c
debug out: func = get_parameters           ,line = 2246, file = iperf_api.c
debug out: set the state from 9 to 10
状态机元组名称状态机元组当前值
当前状态PARAM_EXCHANGE状态
事件+条件收到客户端发送过来的配置参数
动作C-接收并保存客户端送过来的配置参数,并进行配置
下一状态CREATE_STREAM状态

D:
未完待续
E:
未完待续
F:
未完待续
G:
未完待续
H:
未完待续
I:
未完待续
J:
未完待续

http://www.hkea.cn/news/167038/

相关文章:

  • 站长工具排名分析怎么创建公司网站
  • 网站建设标书四川seo哪里有
  • 接网站开发做多少钱建一个外贸独立站大约多少钱
  • wordpress表单录入seo报告
  • python做网站显示表格星巴克seo网络推广
  • 一个com的网站多少钱管理微信软件
  • 蒙阴网站建设软文代写网
  • 用python做一旅游网站南昌seo计费管理
  • 湖北省建设厅win10优化软件哪个好
  • 湖南企业建站系统平台软文有哪些发布平台
  • 南通 网络 公司网站真正免费建站
  • 做图骂人的图片网站网络服务
  • wordpress主标题副标题seo基础
  • 淮安做网站优化百度竞价排名是什么方式
  • 食品公司网站源码谷歌网页
  • 做网站用哪种代码比较好推广seo发贴软件
  • 3d效果图软件宁波seo行者seo09
  • 美国做按摩广告的网站网站优化教程
  • wordpress云建站教程信息流广告公司一级代理
  • 我有一个域名怎么做网站百度一下下载
  • 郑州网站建设品牌好安装百度到桌面
  • 株洲做网站定制百度灰色词优化排名
  • 上海网页设计公司兴田德润电话排名优化外包公司
  • 做360网站优化快推广普通话宣传语手抄报
  • 动态网站开发语言有哪些大学生创新创业大赛
  • 关键词推广公司网站网络排名优化方法
  • 福州移动网站建设网络营销推广工具有哪些
  • win2008sr怎么用iis做网站国外网站加速
  • 合肥++网站建设磐石网站seo
  • 万网主机怎么上传网站如何在百度上投放广告