[导读]在嵌入式行业网络编程使用相对较少,主流应用集中在NB-IOT、Lora、Mqtt这一块,原理上一般是通过加入硬件模块或者是使用第三方SDK来实现。
前言
在嵌入式行业网络编程使用相对较少,主流应用集中在NB-IOT、Lora、Mqtt这一块,原理上一般是通过加入硬件模块或者是使用第三方SDK来实现。因此,大部分嵌入式从业人员网络编程能力较弱,网络编程水平多数停留在大学阶段。考虑到未来嵌入式的发展趋势,必然是网络化 智能化。因此深度掌握网络编程和人工智能,会有更好的发展前途。当然,走研究linux内核方向也大有可为,只是周期较长,非十年苦工不能大成。
目前笔者研究了一段时间libevent和muduo库早期版本的源码,对如何开发高并发、高性能服务器有了较为深入的了解。在研究过程里面,遇上了很多坑,也有了一些优化性能的心得。在我掌握了这部分知识内容之后,再回头看,发现我们的学习网络编程的路线,其实一直是有问题的。
几个网络编程问题
这里分享几个网络相关问题,前两个问题考察tcp协议理论基础,后两个考察对网络库的了解,大家可以自测一下:
-
tcp四层模型和OSI七层模型的联系和区别是什么?
-
tcp三次握手和四次挥手是什么?time_wait和close_wait状态是意味着什么?
-
select、poll、epoll的原理和区别是什么?epoll反应堆模式是什么?
-
如何实现网络事件驱动模型?对统一事件源,缓存管理有没有了解?
理论与实战
我相信应该大部分人都对前两个问题较为熟悉,但是对后两个问题就不太熟悉了。
这主要是因为目前我们在学校所学习的网络编程基本上是偏理论的,笔者在大学学习tcp协议相关知识的时候,根本不能理解流量控制、滑动窗口、拥塞控制等等概念。但为了通过考试与面试,硬是把它死记硬背了下来。在实际开发过程中,大量使用网络库之后。逐渐意识到,理论与实战是相符相成的。理论无聊乏味,与实际开发断层严重,但却是大厦之基。实战生动有趣,成就感满满,却被框架蒙蔽双眼,难以洞察本质。
既然理论庞大难学,框架易用难精,我们该如何把握学习网络编程的路线?
答案如下:
-
学习tcp底层协议,从设计一款简单的tcp协议栈开始着手研究,明白四层模型到底长什么样,每个状态变化是在什么情景下发生,tcp是如何来保障通信的可靠性
-
学习操作系统提供的网络接口,了解socket编程接口的发展过程,知道操作系统该如何来捕获各种网络IO事件
-
学习一款优秀的网络库,明白高并发、高性能的网络应用中,如何合理地使用线程。对多线程编程的各种大坑有一个基本的认知,深度思考如何做到"线程安全"
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
机器人操作系统(ROS)驱动程序基于ADI产品而开发,因此可直接在ROS生态系统中使用这些产品。本文将概述如何在应用、产品和系统(例如,自主导航、安全气泡地图和数据收集机器人)中使用和集成这些驱动程序;以及这样将如何有助...
关键字:
电机控制器
机器人
嵌入式
支持高达48V@5A的PD受电模式,达到目前USB PD最高标准。
关键字:
嵌入式
开发板
【2024年4月8日,德国慕尼黑讯】低碳化和数字化是当今时代人们面临的两大核心挑战,人类社会需要依靠创新和先进的技术,才能破除挑战、推动转型进程。在德国纽伦堡举办的2024国际嵌入式展(Embedded World 20...
关键字:
半导体
微控制器
嵌入式
TDK 株式会社(TSE:6762)进一步扩充 Micronas 嵌入式电机控制器系列 HVC 5x,完全集成电机控制器与 HVC-5222D 和 HVC-5422D,以驱动小型有刷(BDC)、无刷(BLDC)或步进电机...
关键字:
嵌入式
电机控制器
内存
嵌入式开发作为信息技术领域的重要分支,在当今智能化社会中的地位日益显著。它不仅在日常生活中的消费电子产品、工业自动化、汽车电子、航空航天等诸多领域发挥着不可或缺的作用,而且随着物联网、大数据、人工智能技术的发展,嵌入式开...
关键字:
嵌入式
信息技术
中国,北京和德国,纽伦堡 - EQS Newswire - 2024年4月2日 - 绿芯将于4月9日至11日在德国纽伦堡举行的2024年嵌入式世界展会 ((embedded world 2024),4A号馆606展位)展...
关键字:
固态硬盘
嵌入式
智能交通
虽然嵌入式芯片架构市场上有明确的引领者,但该行业正在快速扩张,预计未来几年将出现许多新的机会。当然,在这样的热门行业中,永远有创新技术和新产品的一席之地。
关键字:
嵌入式
处理器
RISC-V
2024年3月8日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 即日起供货Advantech的VEGA-P110 PCIe Intel® Arc A37...
关键字:
嵌入式
GPU卡
边缘AI
在这篇文章中,小编将为大家带来嵌入式开发的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。
关键字:
嵌入式
嵌入式开发
以下内容中,小编将对嵌入式开发的相关内容进行着重介绍和阐述,希望本文能帮您增进对嵌入式开发的了解,和小编一起来看看吧。
关键字:
嵌入式
嵌入式开发
嵌入式系统
本文中,小编将对嵌入式开发予以介绍,如果你想对它的详细情况有所认识,或者想要增进对嵌入式的了解程度,不妨请看以下内容哦。
关键字:
嵌入式
嵌入式开发
在这篇文章中,小编将为大家带来嵌入式开发的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。
关键字:
嵌入式
嵌入式开发
由AMD Kria™ K26 SOM提供支持的视觉 AI 盒能以高速处理摄像头图像,以更为有效地检测轨道
关键字:
AI
自动化
嵌入式
ST的许多合作伙伴和客户都希望有更多的产品能够利用STM32Cube开发环境。开发人员很享受开发环境的图形用户界面和工具的易用性,如STM32CubeMX、免费的STM32CubeIDE以及许多软件包、驱动程序和中间件,...
关键字:
工具链
嵌入式
神经网络模型
瑞典乌普萨拉,2024年2月20日 – 全球领先的嵌入式系统开发软件解决方案供应商IAR宣布:推出其旗舰产品IAR Embedded Workbench for Arm功能安全版的最新版本9.50.3。此次发布进一步加强...
关键字:
嵌入式
静态代码
工业自动化
雅特力AT32 Workbench嵌入式开发工具基于GUI图形化配置功能,协助开发人员简单轻松配置MCU引脚和周边,且快速产生初始化代码,满足设计需求和降低整体开发时间,使应用开发流程更为高效、可靠,有效缩短产品上市周期...
关键字:
雅特力
嵌入式