wep 认证过程
https://blog.youkuaiyun.com/vapl32/article/details/9407993
beacon帧
https://www.cnblogs.com/zhanglinf/p/4584499.html
lbeacon帧介绍.
给小白讲 OFDM
ESP32设置station名字
在sdkconfig 中修改 CONFIG_LWIP_LOCAL_HOSTNAME
release/v3.2 修改 components/lwip/port/esp32/netif/wlanif.c +205 中 netif->hostname 。
linux 版本微信 安装
sudo snap install electronic-wechat
linux 安装企业微信
https://blog.youkuaiyun.com/qq_40246287/article/details/89705994
LWIP – tcp_receive函数分析
https://blog.youkuaiyun.com/Ivan804638781/article/details/75193978?utm_source=blogxgwz6
LWIP --tcp receive 函数分析.
getaddrinfo函数ipv6的应用
这个对我很有帮助,推荐
https://blog.youkuaiyun.com/u012654882/article/details/51832768
把 域名装换 成 ipv6 地址
50 void ICACHE_FLASH_ATTR
51 getaddrinfoipv6(char *domain)
52 {
53 char ip6_addr[128];
54 int result;
55 struct sockaddr_in6 *sockaddr_ipv6;
56 struct addrinfo *answer, hint, *curr;
57
58 bzero(&hint, sizeof(hint));
59 hint.ai_family = AF_INET6;
60 hint.ai_socktype = SOCK_STREAM;
61 result = getaddrinfo(domain, NULL, &hint, &answer);
62 if (result != 0) {
63 ssc_tcpip_trace("exit ssc_soc_getaddrinfoipv6 \n");
64 return ;
65 }
66 for (curr = answer; curr != NULL; curr = curr->ai_next)
67 {
68 sockaddr_ipv6 = (struct sockaddr_in6 *)( curr->ai_addr);
69 inet_ntop(AF_INET6, &sockaddr_ipv6->sin6_addr, ip6_addr,sizeof(ip6_addr));
70 printf("%s\n", ip6_addr);
71 fflush(NULL);
72
73 }
74 freeaddrinfo(answer);
78 }
由getaddrinfo返回的存储空间,包括addrinfo结构、ai_addr结构和ai_canonname字符串,都是用malloc动态获取的。这些空间可调用 freeaddrinfo释放。其原型如下:
#include <netdb.h>
void freeaddrinfo (struct addrinfo*ai);
打印Task CPU 使用率
http://note.youdao.com/noteshare?id=280185c962cc61d85f67bedd4d476cbc
CSMA/CA协议详解
CSMA/CA协议详解 .
https://www.cnblogs.com/cpaulyz/p/12461500.html
etharp_query()函数
https://www.kancloud.cn/jiejietop/tcpip/988597
逻辑分析仪 DSview 下载地址
https://www.dreamsourcelab.com/download/