四。LWIP网络
文章平均质量分 86
网络编程
m0_61659911
这个作者很懒,什么都没留下…
展开
-
12.物联网LWIP之消息处理机制,lwip消息传递机制
这个结构体包括执行函数所必需的一切,对于另一个线程上下文中的netconn(主要用于处理netconn)在tcpip_thread上下文中(线程安全)。/* 大家可以理解为是一个socket,这个接口要表示很多信息,用一个结构体进行封装 *//** 获取IP地址,acpect,会返回我们客户端的IP地址以及端口号*//** 用于网络数据发送 ---- write *//** 相当于sockket *//** 消息处理函数的返回值 */LWIP数据包消息处理。原创 2023-08-30 21:37:10 · 245 阅读 · 0 评论 -
11.物联网lwip,网卡原理
pbuf层--》选此类型是对不同报文的区分,比如PBUF_TRANSPORT传输层数据,PBUF_IP网络层数据,PBUF_LINK链路层数据,PBUF_RAW_TX物理层数据。//消息邮箱(freeRTOS是通过消息队列实现),任务与任务间消息通信,网卡收到数据,网络分层解析,我们的任务怎么知道呢,就是通过消息邮箱进行传输。底层网卡的数据接口,当接收到网卡数据后,会通过此函数,封装为pbuf提供上层使用。这可以是来自应用程序的指针,底层网卡的数据输出,实际的数据输出,是通过pbuf进行封装管理的。原创 2023-08-30 15:56:53 · 1277 阅读 · 0 评论 -
10.物联网LWIP之TCP状态转变
3.细实线解释--》只是一些不经常的处理,比如服务器被动打开后没有人响应,在比如连接的三次挥手还没有挥手完毕建立连接,用户点了重新连接。FIN_WAIT_2结束等待2阶段 ----》TIME_WAIT 最终等待 ----》CLOSED关闭。状态:ESTABLISTHED数据发送阶段 ----》FIN_WAIT_1结束等待1阶段。状态:FIN_WAIT_1结束等待1阶段 ----》FIN_WAIT_2结束等待2阶段。状态:CLOSED关闭状态 ----》 SYN_SENT连接_发送SYN字段状态。原创 2023-08-29 21:28:45 · 622 阅读 · 0 评论 -
9.物联网LWIP,ip数据报,udp数据报,tcp数据报
占据 16bit空间,以字节为单位, IP 数据报的理论最大长度为 65535字节,实际小于1500字节。我们上网是通过运营商向我们提供的IP地址来上网的,并不是自身的IP地址,所以这就需要网络地址转换NAT的帮助。占据 8bit空间,包含在 IPv4首部中,表示不同类型的ip数据报。该字段用来确保数据报不会永远在网络中循环,即在路由器中每传递一次TTL减一,如果为零表示数据已到期,需丢弃。占据 13bit空间,表示当前分片所携带的数据在整个 IP 数据报中的相对偏移位置(以 8 字节为单位)原创 2023-08-28 22:21:05 · 589 阅读 · 0 评论 -
8.物联网LWIP,简要介绍http(超文本,URL),html(css,ajax),web实现打开灯
内容 中是写HTML的动作。2.样式中的p{}对应中的,即style中对中数据进行样式处理。3.页面内容, 内容 (1)原创 2023-08-28 17:45:15 · 677 阅读 · 0 评论 -
7.物联网LWIP之DNS,超时机制,组播,广播
为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。#define SO_KEEPALIVE 0x0008 /* 保持连接 */ val = int。#define TCP_KEEPINTVL 0x04 /* 发送心跳间隔 S */ val = int。#define TCP_KEEPIDLE 0x03 /* 发送心跳空闲周期 S*/ val = int。原创 2023-08-21 20:28:20 · 1295 阅读 · 1 评论 -
6.物联网LWIP之并发服务器编程
并发服务器(select)实现。并发服务器(多线程)实现。多路IO服用服务器模型。select API。3.select编程模型。1.标准select。原创 2023-08-21 19:48:37 · 348 阅读 · 0 评论 -
5.物联网LWIP之UDP编程,stm32作为服务器实现大小写转化
SOCK_STREAM 这个协议是按照顺序的、可靠的、数据完整的基于字节流的连接。这是一个使用最多的socket类型,这个socket是使用TCP来进行传输。SOCK_SEQPACKET该协议是双线路的、可靠的连接,发送固定长度的数据包进行传输。SOCK_RDM 这个类型是很少使用的,在大部分的操作系统上没有实现,它是提供给数据链路层使用,不保证数据包的顺序。该协议是不可靠的,使用UDP来进行它的连接。AF_INET 这是大多数用来产生socket的协议,使用TCP或UDP来传输,用IPv4的地址。原创 2023-08-21 19:38:36 · 519 阅读 · 1 评论 -
4.物联网LWIP之C/S编程,stm32作为服务器,stm32作为客户端,代码的优化,本机ip与目标ip的配置分析
原因:HAL库与FREERTOS都需要使用systick,两者冲突,所以修改时钟源,让FREERTOS使用Tim1。LWIP配置(FREERTOS配置,ETH配置,LWIP配置)运行后结果:命令行中输入ping 192.168.1.10有回复。(1)freertos.c中会自己出现一个Lwip初始化。为什么要修改定时源为Tim1?不用systick?3.建立socket_tcp_server.c,2.建立socket_tcp_server.h。1.FREERTOS配置。原创 2023-08-18 18:37:39 · 2240 阅读 · 5 评论 -
3.物联网LWIP之socket编程
在我看来Socket就相当于API,就是函数接口,我们使用Socket就可以在不清楚底层原理的基础上进行通信,即Socket会帮助我们处理好网络的Ip地址等。下图就清晰的展示了Socket的位置,作为用户层与其他层的交互媒介。Socket编程中会有特定的函数来处理IP地址,我们用户可以直接省略判断ip地址是大端还是小端,这个转换接口会自己判断地址存储方式并转换。LWIP实现Socket需要操作系统的帮助,如下图所示。尾端为高地址(先取低地址)尾端为低地址(先取高地址)(1)socket接口。原创 2023-08-18 11:21:11 · 911 阅读 · 0 评论 -
2.物联网LWIP网络
注意:配置结束后把时钟配置一下,但是这里会有一个弹窗,会自动配置好时钟。(3)配置USART1串口,配置为异步通信。(1)操作系统的时钟配置。1.Cubemx创建工程。(4)ETH继续配置。原创 2023-08-11 21:59:20 · 881 阅读 · 0 评论 -
1.物联网LWIP网络,TCP/IP协议簇
所以在控制台强制中断连接时(按Ctrl+c),TCP连接的任务发送数据会报错,而UDP的传输任务会继续发送数据,不会管是否有没有对象接受。输入: nc 127.0.0.1 8001创建TCP连接(TCP的端口号是8001,UDP端口号设置为8000)(2) 控制台输入nc -u 127.0.0.1 8000,此时串口也可以获得数据。(3)串口调试程序发送字符串,电脑控制台也会展示同样字符串(说明UDP双向通信)(3)在控制台中按Ctrl+C会导致错误。TCP在连接和断开时,会有连接与释放。原创 2023-08-11 20:30:30 · 1370 阅读 · 0 评论