生成树技术背景 以太网交换网络上为了进行链路备份,通常会使用冗余链路,但是使用冗余链路会在交换网络上形成环路,并导致广播风暴以及 MAC 地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。生成树协议(STP)运行以太网交换机上,为解决网络中的环路问题再网络上修剪出一颗无环的树,并在主链路出现故障后自动启用备份链路,使网络工作正常。最新的 STP 标准由 1998 年发布的 IEEE802.1D 标准文档定义。 简单来说有以下几点: 交换机单链路上行,存在单点故障,线路和设备都不具备冗余性。 任何一条链路或者设备故障,网络将面临断网。 二层环路 冗余拓扑能够解决单点故障问题。但是冗余拓扑带来了二层环路问题。实际网络环境中,经常产生二层环路从而引发网络故障。 如果为了保证网络运行的稳定性,在以太网交换网络上使用冗余链路进行了链路备份,如下图: 在使用了冗余链路后,出现了二成交换网络的环路,引发了广播风暴、MAC 地址表不稳定等问题。 1. 广播风暴 网络中若存在二层环路,一旦出现广播数据帧,这些数据帧将被交换机不断泛洪,造成广播风暴。 广播风暴对网络危害非
什么是图形用户界面? 图形用户界面:GUI(Graphics User Interface),指采用图形方式显示的计算机操作,是计算机与其使用者之间的接口对话,是计算机系统的重要组成部分。 一、 控制鼠标 电脑屏幕的坐标系 引入笛卡尔直角坐标系,以屏幕左上点为原点,X 轴正方形水平左右,Y 轴正方形铅锤向下,此坐标系的单位距离是像素点。 左上角的像素位于 (0, 0), 如果此时屏幕的分辨率为 1920 * 1080,则右下角的坐标为 (1919, 1079)。 像素图是由许多像素点组成的,一个像素点是指具有某个颜色的小正方形。一般情况,像素点越多,图片越细腻。 获取屏幕分辨率的大小 pyautogui.size() 获取当前鼠标的位置 pyautogui.position() 检查 XY 坐标是否在屏幕上 pyautogui.onScreen() 如果他们位于屏幕的边界内,返回 True ;否则,返回 False 传入参数:两个整数参数或带有两个整数的单个元组或列表 鼠标运动 pyautogui.moveTo(X, Y) :传递坐标后,鼠标光标移动
在面向对象的编程语言中,我们经常听见一些名词,引用、地址。而引用则是引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用 &代替了 *。引用(reference)是 C++ 对 C 语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 注意:引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。 1.引用的基本使用 作用: 给变量起别名。 语法: 数据类型 &别名 = 原名 示例 : int main() { int a = 10; int &b = a; cout << "a = " << a << endl; cout << "b = " << b << endl; b = 100; cout << "a = " << a << endl; cout <
此配置方法仅适用于采用标准协议公网邮箱。 若添加邮箱时有其他问题,欢迎评论留言。 1. 打开邮箱开启 IMAP/POP 服务 这里以腾讯企业邮为例(网易类似), 个人用户在帐户选项卡,需要短信授权获取授权密码作为帐户密码。 找到设置 点击收发信设置 开启服务 2. 打开 Windows 10 Mail, Step:点击设置 -> 管理账户 -> 添加用户 -> 高级设置 -> Internet 电子邮件 在 Internet 电子邮件账户中填入相应信息,注意下图中红框标注的位置,其他自行填写即可,最下方有四行默认打勾的选项无需变更,点击登录,完成。 “高级设置”窗口中输入信息: 电子邮件地址 这是你将在“邮件”应用的左窗格中看到的名称。 用户名 这是完整的电子邮件地址。 密码 输入电子邮件帐户密码。 帐户名称 这是将在“邮件”应用的左窗格和“管理帐户”窗格中看到的名称。 可以选择所需的任何名称。 使用此名称发送消息 输入希望收件人在收到邮件时查看的名称。 传入电子邮件服务器 可以从 ISP 或管理员获取此信息。 通常,传入
编程语言中,我们习惯将函数(方法)调用自身的过程称为递归,调用自身的函数称为递归函数,用递归方式解决问题的算法称为递归算法。 调用方式 函数(方法)调用自身的实现方式有 2 种,分别是: 直接调用自身,例如: int function(/*....*){ //...... //调用自身 function(/*...*); //...... } 间接调用自身,例如: int funciton1(/*...*/) { //...... //调用另一个函数 function2(/*...*/); //...... } int function2(/*...*/) { //...... //调用function1()函数 funciton1(/*...*/); //...... } 在上面程序中,function1() 函数内部调用了 function2() 函数,而 function2() 函数内部又调用了function1() 函数,也就是说 function1() 函数间接调用了自身。 具体示例 在设计递归函数时,我们要为它设置一个结束递归的“出口”,否则函数会
A_Sun
山不让尘,川不辞盈
本网站由 提供CDN加速/云存储服务
鄂ICP备2023005457号 鄂公网安备 42011302000815号