合肥建设官方网站/网站内容优化怎么去优化呢

合肥建设官方网站,网站内容优化怎么去优化呢,龙岩食品有限公司,专业网站建设组织1. TCP TCP: 传输控制协议(Transmission Control Protocol),传输层协议之一(TCP,UDP) 2. TCP与UDP UDP(用户数据报协议) 面向数据报无连接不安全不可靠(尽最大努力交…

1. TCP

TCP: 传输控制协议(Transmission Control Protocol),传输层协议之一(TCP,UDP)

2. TCP与UDP

UDP(用户数据报协议)

  • 面向数据报
  • 无连接
  • 不安全不可靠(尽最大努力交付)
  • 机制简单,传输效率高

TCP(传输控制协议)

  1. 需要建立连接
  2. 安全、可靠
  3. 面向字节流
  4. 占用资源开销大 

3. 三次握手

        指建立tcp连接时,需要客户端和服务端总共发送三次报文确认连接

4. 四次挥手

        断开一个tcp连接,需要客户端和服务端发送四个报文以确认断开 

TCP编程:基于C/S模型的socket文件进行通信

5. TCP框架设计

  • client: socket--->connect--->send/write--->close
  • server:    socket--->bind--->listen--->accept---> recv/read--->close

6. 函数接口

6.1 socket

        socket(AF_INET, SOCK_STREAM, 0);

6.2 connect

        int connect(int sockfd, const struct sockaddr *addr,
                   socklen_t addrlen);
功能:
        发送三次握手链接请求
参数:
        sockfd:套接字文件描述符
        addr:存放目的地址空间首地址
        addrlen:目的地址长度
返回值:
        成功返回0 
        失败返回-1   

6.3 send

        ssize_t send(int sockfd, const void *buf, size_t len, int flags);
功能:
        发送数据
参数:
        sockfd:套接字文件描述符
        buf:存放数据空间首地址
        len:数据长度
        flag:属性默认为0 
返回值:
        成功返回发送字节数
        失败返回-1   

6.4 recv

        ssize_t recv(int sockfd, void *buf, size_t len, int flags);
功能:
        接收数据 
参数:
        sockfd:套接字文件描述符
        buf:存放数据空间首地址 
        len:最多接收数据长度 
        flags:接收属性默认为0 
返回值:
        成功返回实际接收字节数
        失败返回-1 
        连接断开返回0 

6.5 bind

        int bind(int sockfd, const struct sockaddr *addr,
                socklen_t addrlen);

6.6 listen

        int listen(int sockfd, int backlog);
      功能:
        监听三次握手链接请求
      参数:
        sockfd:套接字文件描述符
        backlog:最多允许等待尚未处理的三次握手链接个数
      返回值:
        成功返回0 
        失败返回-1 

6.7 accept

        int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
功能:
        处理三次握手等待队列中的第一个请求并建立一个用来通信的新套接字
参数:
        sockfd:套接字文件描述符
        addr:存放发送端IP地址空间首地址 
        addrlen:想要接收的IP地址的长度 
返回值:
        成功返回新文件描述符
        失败返回-1 

7. TCP粘包

TCP协议是面向字节流的协议,接收方不知道消息的界限,不知道一次提取多少数据,这就造成了粘包问题

产生原因

  • TCP发送数据时,没有及时发走,会根据缓冲区数据的情况进行重新组包
  • TCP接收方,没有及时读走缓冲区数据,导致缓冲区大量数据缓存

解决方案

  • 消息定长法:对于定长的包,保证每次都按固定大小读取即可        //  结构体
  • 添加消息头:在每个数据包前添加固定长度的消息头,消息头中记录数据包的长度等信息。发送方发送数据时,先发送消息头,再发送实际数据。接收方先读取消息头,获取数据包长度信息,再根据该长度读取后续的实际数据
  • 特殊字符分隔法:在数据包之间添加特殊的分隔字符(‘\n’),发送方发送数据时,在每个数据包后加上分隔字符,接收方按分隔字符来分割数据包

8. TCP报文头

标志位:

  • URG: 紧急指针标志, 为1时表示紧急指针有效, 该报文应该优先传送。
  • ACK: 确认应答标志
  • PSH:  表示发送数据,提示接收端从TCP接收缓冲区中读走数据,为接收后续数据腾出空间
  • RST: 重置连接标志
  • SYN: 表示请求建立一个连接
  • FIN: finish标志, 表示释放连接

滑动窗口大小:是TCP流量控制得一个手段。目的是告诉对方,本端的TCP接受缓冲区还能容纳多少字节得数据,这样对方就可以控制发送数据的速度,从而达到流量控制,16bit,因而窗口最大65535

9. TCP机制

保证可靠性的同时又要尽可能的提高性能

可靠性:

  • 三次握手和四次挥手机制
  • 应答机制:TCP将每个字节的数据都进行了编号,即为序列号。每一个ACK都带有对应的确认序列号,保证数据不丢失的按序到达
  • 超时重传:当发送端发送的数据在网络中丢失时,在一定时间内没有收到接收端的ACK,则发送端会重新发送丢失数据。
  • 流量控制:按照ACK中“窗口大小”字段控制发送端的发送速度

提高性能:

  • 滑动窗口:可以按照“窗口大小”, 一次发送多条后, 再等待应答
  • 延迟应答:当接收方处理速度很快时,可以延迟发送ACK,此时"窗口大小"会自动增大
  • 捎带应答:搭载应用层的响应报文发送ACK

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/72438.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NModbus 连接到Modbus服务器(Modbus TCP)

1、在项目中通过NuGet添加NModbus,在界面中添加一个Button。 using NModbus.Device; using NModbus; using System.Net.Sockets; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Docu…

BUU44 [BJDCTF2020]ZJCTF,不过如此1 [php://filter][正则表达式get输入数据][捕获组反向引用][php中单双引号]

题目: 我仿佛见到了一位故人。。。也难怪,题目就是ZJCTF 按要求提交/?textdata://,I have a dream&filenext.php后: ......不太行,好像得用filephp://filter/convert.base64-encode/resourcenext.php 耶?那 f…

[Web 安全] PHP 反序列化漏洞 —— POP 链构造思路

关注这个专栏的其他相关笔记:[Web 安全] 反序列化漏洞 - 学习笔记-CSDN博客 0x01:什么是 POP 链? POP 链(Payload On Purpose Chain)是一种利用 PHP 中的魔法方法进行多次跳转以获取敏感数据的技术。它通常出现在 CTF…

DeepSeek 助力 Vue3 开发:打造丝滑的网格布局(Grid Layout)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

Golang语法特性总结

1.认识Golang代码特性 package main //1.包含main函数的文件就是一个main包--当前程序的包名// import "fmt" // import "time" import("fmt""time" )//3.同时包含多个包 4.强制代码风格:函数的 { 一定和函数名在同一行,否…

AI赋能校园安全:科技助力预防与应对校园霸凌

校园本应是学生快乐学习、健康成长的地方,然而,校园霸凌却成为威胁学生身心健康的隐形“毒瘤”。近年来,随着人工智能(AI)技术的快速发展,AI在校园安全领域的应用逐渐成为解决校园霸凌问题的新突破口。通过…

易语言模拟真人鼠标轨迹算法 - 防止游戏检测

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…

运营商三要素API:构建安全信任的桥梁

引言 在数字经济时代,身份验证已成为各类业务场景的基础需求。运营商三要素API作为一种高效的身份核验工具,通过对接运营商数据,实现对用户姓名、身份证号码、手机号码三项关键信息的实时校验,为各行业提供可靠的身份认证解决方案…

Spring Boot 与 MyBatis 版本兼容性

初接触Spring Boot,本次使用Spring Boot版本为3.4.3,mybatis的起步依赖版本为3.0.0,在启动时报错,报错代码如下 org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name userMapper…

GCN从理论到实践——基于PyTorch的图卷积网络层实现

Hi,大家好,我是半亩花海。图卷积网络(Graph Convolutional Network, GCN)是一种处理图结构数据的深度学习模型。它通过聚合邻居节点的信息来更新每个节点的特征表示,广泛应用于社交网络分析、推荐系统和生物信息学等领…

集合遍历的多种方式

目录 1.增强for 2.迭代器(在遍历的过程中需要删除元素,请使用迭代器) 3.双列集合 4.Lambda表达式(forEach方法) 1.单列集合: 2.双列集合: 4.Stream 流 5.普通for循环 6.列表迭代器 7.总结 1.增强for 注&…

value_counts()和unique()

我今天发现一个很有意思的问题哈 import scanpy as sc import numpy as npX np.random.randn(10,3) adata1 sc.AnnData(X) adata1.obs["sample"] "H1" print(adata1)X np.random.randn(20,3) adata2 sc.AnnData(X) adata2.obs["sample"] &…

每日OJ_牛客_游游的字母串_枚举_C++_Java

目录 牛客_游游的字母串_枚举 题目解析 C代码 Java代码 牛客_游游的字母串_枚举 游游的字母串 描述: 对于一个小写字母而言,游游可以通过一次操作把这个字母变成相邻的字母。a和b相邻,b和c相邻,以此类推。特殊的&#xff0…

数字万用表的使用教程

福禄克经济型数字万用表前面板按键功能介绍示意图 1. 万用表简单介绍 万用表是一种带有整流器的、可以测量交、直流电流、电压及电阻等多种电学参量的磁电式仪表。分为数字万用表,钳形万用表, (1)表笔分为红、黑二只。使用时黑色…

DeepSeek使用手册分享-附PDF下载连接

本次主要分享DeepSeek从技术原理到使用技巧内容,这里展示一些基本内容,后面附上详细PDF下载链接。 DeepSeek基本介绍 DeepSeek公司和模型的基本简介,以及DeepSeek高性能低成本获得业界的高度认可的原因。 DeepSeek技术路线解析 DeepSeek V3…

Hugging Face 推出 FastRTC:实时语音视频应用开发变得得心应手

估值超过 40 亿美元的 AI 初创公司 Hugging Face 推出了 FastRTC,这是一个开源 Python 库,旨在消除开发者在构建实时音频和视频 AI 应用时的主要障碍。 "在 Python 中正确构建实时 WebRTC 和 Websocket 应用一直都很困难,"FastRTC…

Qt显示一个hello world

一、显示思路 思路一:通过图形化方式,界面上创建出一个控件显示。 思路二:通过编写C代码在界面上创建控件显示。 二、思路一实现 点开 Froms 的 widget.ui,拖拽 label 控件,显示 hello world 即可。 qmake 基于 .…

复合机器人为 CNC 毛坯件上下料注入 “智能强心针”

在竞争日益激烈的 CNC 加工行业,如何提升生产效率、保证产品质量、实现智能化生产成为众多企业亟待解决的问题。富唯智能凭借其先进的复合机器人技术,成功为多家 CNC 加工企业提供了毛坯件上下料的优质解决方案,有效提升了生产效能&#xff0…

Spring Cloud Gateway 网关的使用

在之前的学习中,所有的微服务接口都是对外开放的,这就意味着用户可以直接访问,为了保证对外服务的安全性,服务端实现的微服务接口都带有一定的权限校验机制,但是由于使用了微服务,就需要每一个服务都进行一…

webstorm的Live Edit插件配合chrome扩展程序JetBrains IDE Support实现实时预览html效果

前言 我们平时在前端网页修改好代码要点击刷新再去看修改的效果,这样比较麻烦,那么很多软件都提供了实时预览的功能,我们一边编辑代码一边可以看到效果。下面说的是webstorm。 1 Live Edit 首先我们需要在webstorm的settings里安装插件Live …