![](https://img-blog.csdnimg.cn/d0d3e7b381d4459a81c722d63b215099.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Linux 网络开发必学课程
文章平均质量分 80
网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用。
网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包的分析,当然最后再做一
Exp.Joker
这个作者很懒,什么都没留下…
展开
-
Linux 网络开发必学课程(十四)物联网服务模块实现
I2C即: Inter - Integrated Circuit , —种两线式串行总线I2C常用于连接微控制器及其外围设备(如:用于连接传感器)I2C可通过两个GPIO 引脚实现物理连接及数据通信如:GPIO0对应I2C1_SDA:I2C数据传输线GPIO1对应I2C1_SCL:I2C时钟信号线。原创 2023-08-17 21:04:23 · 252 阅读 · 0 评论 -
Linux 网络开发必学课程(十三)客户端服务端交互实现
存储服务命令与设备地址之间的映射(命令字符串→地址字符串)字符串空格处理,分割获取命令与参数。字符串预处理,分割获取服务命。原创 2023-08-17 20:29:21 · 159 阅读 · 0 评论 -
Linux 网络开发必学课程(十二)客户端设计与初步实现
Response Task和Service Task的业务逻辑如何实现?原创 2023-08-17 20:21:18 · 173 阅读 · 0 评论 -
Linux 网络开发必学课程(十一)智能家居服务发现实现
设备端运行服务端,客户端连接,数据收发功能。通过网络调试助手验证TCP数据收发。通过网络调试助手验证UDP数据收发。设备端接收广播,并回复数据。原创 2023-08-17 20:10:57 · 101 阅读 · 0 评论 -
Linux 网络开发必学课程(十)物联网设备WIFI模块实现
LwlP是轻量化的TCP/IP,是一个小型开源的 TCP/IP协议栈LwIP的设计目标是用较少的资源实现较完整的TCP/IP协议栈LwlP能在操作系统中运行,也能在无操作系统的情况下独立运行LwIP提供了Socket API和 Netconn API(2)LwlP的主要特性支持ARP,ICMP,IGMP支持UDP,TCP,IP(可移植网络通信框架)支持 DNS,PPP,SNMP支持 DHCP,可动态分配IP地址(WIFl支持。。原创 2023-08-17 20:01:48 · 571 阅读 · 0 评论 -
Linux 网络开发必学课程(九)分布式智能家居项目雏形
客户端进入室内后能够主动发现服务(如:环境服务,灯光服务)各种服务之间,服务与客户端之间完全无耦合(服务可自由增减)提供服务的设备(嵌入式,服务器,PC,等)必须具备联网能力且遵循服务协议。服务设备遵循相同的协议:数据传输协议,服务提供模式,等。服务设备接收到查询协议包,回复协议内容及协议使用方式。客服端通过协议使用服务,无需关心服务设备的形态及位置。服务设备将能够提本机IP及能够提供的服务信息发回客户端。接收服务发现数据包,并应答当前设备服务信息。服务设备驱动,如:温湿度传感器驱动,灯光控制驱动,等。原创 2022-06-14 22:19:39 · 1160 阅读 · 0 评论 -
Linux 网络开发必学课程(八)网络通信框架的完善
如何扩展之前开发的通信框架,使其支持UDP通信,而成为一个完善的网络通信框架?原创 2022-06-14 22:16:02 · 395 阅读 · 0 评论 -
Linux 网络开发必学课程(七)UDP 数据收发实战、深入UDP 数据收发
UDP 数据收发实战① 再论UDP协议② UDP和IP的区别③ UDP数据收发④ UDP编程模式⑤ UDP数据收发⑥ 编程实验:UDP数据收发原创 2022-06-07 23:10:45 · 1908 阅读 · 0 评论 -
Linux 网络开发必学课程(六)数据收发的扩展用法
数据收发的扩展用法(上)① 问题write()和send()都可以发送数据,有什么区别?read()和recv()都可以接收数据,有什么区别? ② 数据收发选项flags - 收发数据时指定的可选项信息调用时flags参数的值为0,表示什么?默认收发网络数据③ flags选项信息(常用)注意:不同的操作系统对上述可选项的支持不同,实际工程开发时,需要事先对目标系统中支持的可选项进行调研。④ MSG_OOB(带外数据,紧急数据)⑤ TCP带外数据实现原理⑥ TCP带外数据处理策略⑦ 编程实验:TCP紧急...原创 2022-06-07 23:08:45 · 582 阅读 · 1 评论 -
Linux 网络开发必学课程(五)TCP通信框架:客户端和服务端设计
TCP通信框架:客户端设计① TCP通信框架设计:封装、复用② 职责定义(功能定义)③ 客户端接口设计④ 客户端关键代码实现⑤ 编程实验:客户端设计与实现11、TCP通信框架:服务端设计① TCP通信框架设计问题:服务端如何知道什么时候进行事件回调通知? ② 服务端接口设计③ 服务端关键代码实现-初始化④ 服务端关键代码实现-事件监听⑤ 服务端关键代码实现-连接事件&数据事件⑥ 服务端关键代码实现-断连事件&事件通知⑦ 编程实验:服务端设计与实现......原创 2022-06-07 23:05:41 · 909 阅读 · 0 评论 -
Linux 网络开发必学课程(四)应用层协议设计与实现、应用层协议解析模块
应用层协议设计。如何在代码层面封装协议细节(仅关心消息本身)?如何通过socket文件描述符实时解析协议消息?原创 2022-06-07 23:02:52 · 745 阅读 · 0 评论 -
Linux 网络开发必学课程(三)Windows下的网络编程、TCP与UDP
TCP / IP 工作方式 三次交互结束后,连接建立!为什么是3次? 相互发送消息,都获得了回应⑫ TCP 连接断开 A: 我准备断了B: 可以,等我把剩下的数据发完就断过了一会儿~B: OK,发完了,断吧(服务端断开)A: OK(客户端断开)四次交互结束后,连接断开!...原创 2022-06-07 23:00:11 · 567 阅读 · 0 评论 -
Linux 网络开发必学课程(二)深入浅出IP地址、尝鲜 select 多路复用、基于多路复用的服务端
深入浅出IP地址、socket参数详解、网络编程中的地址类型、IP 地址相关函数、事件相关函数的分类、神奇的select()函数、select()相关数据类型及操作、解决方案:阻塞变轮询原创 2022-06-07 22:53:25 · 618 阅读 · 0 评论 -
Linux 网络开发必学课程(一)网络编程的概念与模式、服务端编程初体验
1、网络编程的概念与模式① 网络编程的本质使用操作系统提供的接口函数,使得应用程序具备收发网络数据的能力。② 网络编程核心概念③ 网络知识充电站④ 网络编程模式⑤ 初探网络编程接口#include #include ⑥ 编写网络实验2、服务端编程初体验① 客户端/服务端 编程模式 (c/s模型)② 服务端编程模式③ 服务端核心工作:绑定&监听&接收 1. 绑定 int bind( int sock, st......原创 2022-06-07 17:27:57 · 660 阅读 · 1 评论