参考链接 【openwrt】uloop_run过程分析_uloop 源代码分析-CSDN博客 openWrt libubox组件之uloop原理分析-CSDN博客 概述 uloop是一个基于epoll建立的轻量级事件循环库,它允许程序以单线程、非阻塞的方式处理多种事件源。主要提供了timeout定时器处理和文件描述符触发事件的监控的能力 uloop…
参考文档: 【原创】Linux select/poll机制原理分析 - LoyenWang - 博客园 (cnblogs.com) 源码解读poll/select内核机制 - Gityuan博客 | 袁辉辉的技术博客 Linux 5.4源码 发展历史 API 发布的时间线 下文中列出了网络 IO 中,各个 api 的发布时间线 1983,socke…
参考文档: Release v5.4 · torvalds/linux struct cfg80211_ops源码 这里列出Linux 5.4版本struct cfg80211_ops的源码 struct cfg80211_ops { int (*suspend)(struct wiphy *wiphy, s…
参考文档 Release v5.4 · torvalds/linux 概述 cfg80211模块与驱动模块的交互是通过一系列API来进行交互的,这些API是由内核定义在include/net/cfg80211.h中的struct cfg80211_ops结构体中 这些接口由驱动模块定义并在驱动初始化阶段注册在内核中 整体流程 这个函数通过几个关键步…
参考文档: Linux 802.11 Driver Developer’s Guide — The Linux Kernel documentation Netlink - 维基百科,自由的百科全书 Emulating WLAN in Linux - part I: the 802.11 stack | Linux Embedded 笔者注:关于L…
802.11协议是由IEEE(电气和电子工程师协会)制定的一系列无线局域网(WLAN)标准的总称。它定义了无线网络通信的技术规范,广泛应用于Wi-Fi网络。以下是一些主要的802.11标准: 802.11a:工作在5 GHz频段,最大传输速率为54 Mbps 802.11b:工作在2.4 GHz频段,最大传输速率为11 Mbps 802.11g:工…
创建文件 创建文件并已如下形式放置 . client.cpp server.cpp 文件内容 client.cpp #include <iostream> #include <cstring> #include <unistd.h> #include <arpa/inet.h> #include &l…
Socket连接流程 参考文档 Socket到底是什么?你想知道吗?-socket是什么意思 (51cto.com) [wiki百科socket]https://zh.wikipedia.org/wiki/%E7%B6%B2%E8%B7%AF%E6%8F%92%E5%BA%A7 类型 数据报套接字(SOCK_DGRAM) 数据报套接字是一种无连套接…
什么是Socket 套接字Socket,就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口 套接字是通信的基石,是支持TCP/IP…
中断(英语:Interrupt),又称插断,在计算机科学中是指处理器接收到来自硬件或软件的信号,提示发生了某个事件,应予以注意,这种情况就称为中断。 1. 引入中断的意义与作用 中断是用以提高计算机工作效率、增强计算机功能的一项重要技术。最初引入硬件中断,只是出于性能上的考量。如果计算机系统没有中断,则处理器与外部设备通信时,它必须在向该设备发出指…