代码编织梦想

lwip协议栈源码分析之pbuf-爱代码爱编程

文章目录 一,数据在tcp/ip层中的传递二,认识pbuf结构体二,创建一个pbuf三,释放pbuf四,给pbuf链表减肥五,移动payload六,小结 lwip使用pbuf对数据进行发送与接收,灵活的pbuf结构体使得数据在不同网络层之间传输时可以减少内存的开销,内存复制所占用的时间,一切都是为了节约内存,增加数据在不同层之间传递的速度

Android - 秒懂TCP_UDP_IP_Socket-爱代码爱编程

背景 在涉及网络知识时总是记不太清相关概念,因此期望通过简短的文字描述,理解并记住相关概念。 TCP 属于七层协议中的传输层,是面向连接的协议。 面向连接意思就是通信双方建立连接才能通信,没建立连接不能通信。 因此是安全的。 安全可以指:能够知道通信双方,也可以指数据能够保证按顺序收到。 UDP 属于七层协议中的传输层,是面向无连接的协议。

计网-TCP-拥塞控制-爱代码爱编程

1)什么是拥塞? 在某段时间内,在某网络资源的需求超过了该资源所提供的可用部分,网络的性能就要崩坏,这就是拥塞。 2)为什么要拥塞控制? 目的是为了防止过多的数据注入到网络中,造成路由器或链路过载。 拥塞控制是一个全局性的过程,涉及到所有的主机、路由器等于网络传输性能有关的因素。 (与此对应的流量控制是对点对点通信量的控制,是端对端的问题) 3)如何

计算机网络自学笔记 传输层-爱代码爱编程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 计算机网络自学笔记 传输层 前言一、1( 3分 )简析TCP连接建立的基本过程。二、2( 2分 ) 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、1( 3分 ) 简析TCP连接建立的基本过程。 客户首先向服务器发送一个特殊的TCP报文段 服务器用另

muduo库的TcpConnection类剖析-爱代码爱编程

本文链接:https://blog.csdn.net/Mr_scott_j/article/details/111059068 TcpConnection是muduo中最为复杂的类,其实就是对已连接套接字的一个抽象。 TcpConnection使用Channel来获得socket上的IO事件,它可以自己处理writable事件,而把readable事件通

诙谐的谈谈TCP三次握手和四次挥手-爱代码爱编程

这几天面试校招生,需要考量一下他们的计算机网络基础,就问了这个老生常谈的问题,说一下TCP三次握手和四次挥手,为什么挥手比握手要多一次? 其实这个问题几乎所有人都能回答,甚至有的回答的很"标准",完全把课本上的答案背了下来说了一遍,甚至还知道SYN,ACK标志位,但是这些东西对我来说没有什么意义,因为这些标志位换成别的代号照样能完成三次握手和四次挥手。其

网络基础:TCP(4):三次握手和四次挥手(简述)-爱代码爱编程

一、tcp三次握手 第一次握手(SYN=1, seq=x):client先发起一个带有SYN字段,seq=x的请求。第二次握手(SYN=1, ACK=1, seq=y, ack=x+1):server端收到之后确认client的发送能力与自身的接收能力正常。返回ACK和SYN字段还有seq=y, ack=x+1。第三次握手(ACK=1,ack=y+1):

stm32开发板下esp8266通信-爱代码爱编程

前言 Esp8266算是一个傻瓜式的wifi通信模块,前前后后也用过好几次,这次隔了好久没用有些东西都忘了,所在这里记录一下,防止以后用的时候又忘了。 硬件电路连接 话不多说,先上电路连接图。本次使用的是ESP-01S,也适用于ESP-01。下面是使用手册的连接图: 但实际上使用时,一般将此模块的EN和VCC接口都接上5V的电压上,能保证通信的稳定,

【小菜学网络】物理层概述-爱代码爱编程

物理层概述 通讯模型 假设,计算机网络现在还没有被发明出来,作为计算机科学家的你,想在两台主机间传输数据,该怎么办? 这时,你可能会想到,用一根电缆将两台主机连接起来: 物理课大家都学过,电压可以分为 低电平 和 高电平 。因此,我们可以通过控制电平高低,来达到传输信息的目的: 主机①控制电缆电平的高低, 主机②检测电平的高低,主机间数据传

【FreeRTOS】基于STM32移植LWIP 2.1.2之TCP Server应用篇-爱代码爱编程

文章目录 1.前言2.如何配置LwIP支持Netconn和Socket3.使用LwIP Netconn API实现TCP Server4.使用LwIP Socket API实现TCP Server5.验证测试6.资料下载地址 1.前言 本篇文章主要是介绍在STM32平台上移植LwIP 2.1.2后,如何使用API进行TCP Server编程。

计网-TCP三次握手知多少-爱代码爱编程

1)为什么要握三次? 三次握⼿的⽬的是建⽴可靠的通信信道,简单来说就是数据的发送与接收,三次握⼿最主要的⽬的就是双⽅确认⾃⼰与对⽅的发送与接收是正常的。 2)三次握手的过程是什么样子的? 客户端:发送带有SYN标志的数据包给服务端 第一次握手 Client自己和对方的收发都不知道,Server确定Client发送正常,自己接收正常,但不知道自己是

计算机网络编程--基础-爱代码爱编程

网络编程 一、概述 网络编程的目的:传播信息、数据交换 实现条件: 如何准确的定位网络上的一台主机,利用ip:端口 找到了这个主机,如何传输数据: 传输协议:tcp\udp\ftp等 二、网络模型 三、IP地址 IP地址:唯一定位一台网络上计算机 IP地址分类: IP私有地址: 在IP地址3种主要类型里,各保留了3个区域作为私有地

[c语言学习笔记]c语言的socket编程-爱代码爱编程

c语言与网络编程 四、OSI网络模型五、TCP/IP协议族六、IP、MAC和端口号七、Linux下的socket编程八、Windows下的socket编程九、socket()十、bind()和connect()十一、listen()和accept()十二、read()/write()和send()/recv()十三、简单的连续响应十四、socket

Java中基于TCP通过socket嵌套字连接方式传送文件-爱代码爱编程

这里写目录标题 Java中通过socket连接传送文件前言socket嵌套字发送方接收方总结 Java中通过socket连接传送文件 前言 在项目的开发中经常遇到需要传送文件的情况,有时候是通过ftp服务器进行传输,或者是sftp传送。其核心还是通过嵌套字的形式进行数据传输,刨除判别机制和登录机制,写一个简单的基于TCP协议socket网络

深度剖析linux socket的epollin/epollout是何时触发的-爱代码爱编程

本篇文章的问题是,在 EPOLLET 模式下,socket的 EPOLLIN 和 EPOLLOUT 是何时触发的? 由于epollin比较简单,我们先来看这个。 根据epoll相关的man文档我们可以知道,epollin表示有数据可读,所以它发生的时间必然是有新的tcp数据到来。 我们来写段代码验证下: #include <arpa/inet

面试必考的网络编程知识-爱代码爱编程

面试必考的网络编程知识 计算机网络体系结构 在计算机网络的基本概念中,分层次的体系结构是最基本的。计算机网络体系结构的抽象概念较多,在学习时要多思考。这些概念对后面的学习很有帮助。 网络协议是什么? 在计算机网络要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则,比如交换数据的格式、是否需要发送一个应答信息。这些规则被称为网络协议。

TCP/IP详解-爱代码爱编程

前言 计算机网络是一门基础课程,但是老师所讲的东西无非起到一个抛砖引玉的作用。然而对于需要自学的人来说,无疑是更难的。前路漫漫~~ 计算机网络本来就是比较枯燥的,文章内容较多,建议读者耐心看完这篇文章,希望大家看完后都能有所收获。先把这篇文章的大致结构放上来。 image 预备知识 谢希仁的那本《计算机网络》是很多大学选择的计网教材,在第一章

Java实现简易TCP客户端、服务器端通信程序-爱代码爱编程

本学期计算机网络课程要求完成一个TCP和一个UDP的通信程序,我完成了功能的简单实现,下面讲讲我的TCP程序的实现。(UDP的见另一篇博客) 目录 效果展示一、项目结构二、完整代码1.TCPClient2.TCPClientFrame3.TCPServer4.TCPServerFrame5.TCPSend6.ReminderTextAdapter

阿里P8共勉之-送书帖-听说最近你读过不少书?-爱代码爱编程

项目的节奏,越来越看不懂同事使用的什么技术竟然可以把一个复杂的功能实现得这么优雅,越来越听不懂同事茶余饭后讨论的究竟是什么鬼……一天天过去了,你会越来越恐慌:为什么感觉自己对这些东西一无所知呢? 都说书中自有黄金屋,你怎么就不信呢? 就拿 IT 行业来说,技术的发展日新月异,技术的进步大步流星,稍微不注意就掉队了。而如何才能让自己跟上技术前进

计算机网络简述-爱代码爱编程

一、计算机网络的定义 一些互相连接的、自治的计算机的集合。 生活中,我们平时说的互联网就是计算机网络中被大家广泛使用的一个。 二、网络体系结构 网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。我们在学习计算机网络时,会接触到两个协议体系,一个是OSI(Open System Interconnect)协议,共七层,各层划分清晰,但是太