
网络TCP、HTTP
文章平均质量分 63
网络编程相关学习记录
编程一时爽Cxx
温故知新
展开
-
TCP 数据传输粘包的处理
使用 TCP 进行套接字通信,数据交互时多个数据包粘连到一起无法拆分是我们的需求过于复杂造成的,是程序猿的问题而不是协议的问题,TCP 协议表示这锅它不想背。 解决方案: 1.使用标准的应用层协议(比如:http、https)来封装要传输的不定长的数据包 2.在每条数据的尾部添加特殊字符,如果遇到特殊字符,代表当条数据接收完毕了 有缺陷:效率低,需要一个字节一个字节接收,接收一个字节判断一次,判断是不是那个特殊字符串 3.在发送数据块之前,在数据块最前边添加一个固定大小的数据头,这时候数据由两部分组成:转载 2021-06-17 12:47:51 · 388 阅读 · 0 评论 -
基于UDP的套接字通信
udp 是一个面向无连接的,不安全的,报式传输层协议,udp 的通信过程默认也是阻塞的。 UDP通信不需要建立连接 ,因此不需要进行 connect () 操作 UDP通信过程中,每次都需要指定数据接收端的IP和端口,和发快递差不多 UDP不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息 UDP对接收到的数据报不回复确认信息,发送端不知道数据是否被正确接收,也不会重发数据。 如果发生了数据丢失,不存在丢一半的情况,如果丢当前这个数据包就全部丢失了 通信流程 使用 UDP 进行通转载 2021-06-07 21:32:41 · 1641 阅读 · 0 评论 -
TCP、UDP知识点回顾、应用场合
TCP 协议的优点: 可靠、 稳定, TCP 的可靠体现在 TCP 在传输数据之前, 会 有三次握手来建立连接, 而且在数据传输之前, 会有三次握手来建立连接, 而且 在数据传输时, 有确认、 窗口、 重传、 拥塞控制机制, 在数据传完猴, 还会断开 连接用来节约系统资源。 TCP 缺点: 慢, 效率低, 占用系统资源高, 易被攻击, TCP 在传输数据之前, 要先建立连接, 这会消耗时间, 而且在数据传递时, 确认机制, 重传机制, 拥塞 机制等都会消耗大量时间, 而且要在每台设备上维护所有的传输连接,原创 2021-05-08 15:57:35 · 139 阅读 · 0 评论 -
Linux网络编程之 libcurl库的初次使用、下载安装配置、访问baidu.com
Libcurl库初次使用,(含下载安装教程) 跨平台网络协议库 libcurl主要功能就是用不同的协议连接和沟通不同的服务器~也就是相当封装了的sockPHP 支持libcurl(允许你用不同的协议连接和沟通不同的服务器)。 libcurl当前支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。 安装包下载链接: [https://github.com/curl/curl/releases/tag/curl-7_71_1] 安装包路径 /home原创 2021-03-18 17:00:45 · 2419 阅读 · 0 评论 -
Linux网编编程之 TCP协议 概述
TCP三次握手,四次挥手又来了 先谈谈TCP与UDP: TCP是一个面向连接的、可靠的、基于字节流的传输层协议。而UDP是一个面向无连接的传输层协议。 具体分析TCP三大特性: 1.面向连接。所谓的连接,指的是客户端和服务器的连接,在双方相互通信之前,TCP需要三次握手建立连接,而UDP没有相应建立连接的过程。 ⒉.可靠性。TCP花了很多的资源保证连接的可靠,这个可靠性体现在哪些方面呢?一个是有状态,另一个是可控制。 TCP 会精准记录数据收发,丢包情况,而且保证数据包按序到达,不允许半点差错。这是有状态。原创 2021-03-27 13:39:10 · 169 阅读 · 3 评论