240 发简信
IP属地:上海
  • TCP/UDP区别:
    TCP
    (传输控制协议,Transmission Control Protocol):(类似打电话)
    面向连接、传输可靠(保证数据正确性)、有序(保证数据顺序)、传输大量数据(流模式)、速度慢、对系统资源的要求多,程序结构较复杂,
    每一条TCP连接只能是点到点的,
    TCP首部开销20字节。

    UDP
    (用户数据报协议,User Data Protocol):(类似发短信)
    面向非连接 、传输不可靠(可能丢包)、无序、传输少量数据(数据报模式)、速度快,对系统资源的要求少,程序结构较简单 ,
    UDP支持一对一,一对多,多对一和多对多的交互通信,
    UDP的首部开销小,只有8个字节。

    tcp三次握手建立连接:

    第一次握手:客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
    握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。

    主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;
    主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;
    主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。
    三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。

    Websocket
    Websocket协议解决了服务器与客户端全双工通信的问题。

    注:什么是单工、半双工、全工通信?
    信息只能单向传送为单工;
    信息能双向传送但不能同时双向传送称为半双工;
    信息能够同时双向传送则称为全双工。

    websocket协议解析
    wensocket协议包含两部分:一部分是“握手”,一部分是“数据传输”。

    WebSocket和Socket区别
    可以把WebSocket想象成HTTP(应用层),HTTP和Socket什么关系,WebSocket和Socket就是什么关系。

    HTTP 协议有一个缺陷:通信只能由客户端发起,做不到服务器主动向客户端推送信息。

    WebSocket 协议在2008年诞生,2011年成为国际标准。所有浏览器都已经支持了。
    它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。

  • 5分钟之后,我的生命缩短了1小时

  • 120
    web自动化--pytest+allure+jenkins+发送邮件

    pytest是什么 pytest是python的一款测试框架,拥有unittest的功能并比它更丰富。 allure是什么 有非常多的优秀的测试框架,但却是有非常少优秀的报告...

  • 120
    iOS 持续集成(Jenkins(本地) + GitHub + 蒲公英)

    说明: iOS的持续集成一定要在Mac上进行 Jenkins安装 使用brew 进行安装 Homebrew默认已经安装好brew了,下面开始操作了 一.Jenkins命令行...

  • 120
    Jenkins集成appium自动化测试(Windows篇)

    一,引入问题 自动化测试脚本绝大部分用于回归测试,这就需要制定执行策略,如每天、代码更新后、项目上线前定时执行,才能达到最好的效果,这时就需要进行Jenkins集成。 不像w...

  • 120
    Pytest常用命令

    Pytest -v 或 Pytest -vv 显示具体的详情信息,一般显示错误的位置及错误的详细信息。Pytest --verbose 等价于 pytest -v,如图...

  • 学习笔记-Pytest(十七)conftest.py作用范围

    1.前言 一个测试工程下是可以有多个conftest.py的文件,一般在工程根目录放一个conftest.py起到全局作用。在不同的测试子目录也可以放conftest.py,...

  • 120
    selenium自动化测试框架之PO设计模式

    面向对象的特性:封装、继承、多态。在自动化中一样适用,Selenium自动化测试中有一个名字常常被提及PageObject(思想与面向对象的特性相同),通过PO模式可以大大提...

  • 120
    UI自动化项目分层设计思想(po模式)

    什么是PO模式 PO模式的全名叫做page Object:页面-对象模式。简单的说就是:一个页面是一个类,元素在页面中,所以每个元素的定位信息是这个类中的一个变量;这个页面的...