嵌入式软件开发之网络编程——重要知识点

一、TCP/IP协议

1. TCP/IP四层模型,每一层代表的通信协议。

2. TCP的通信时序:三次握手与四次挥手,搞明白其中的通信流程(重要,面试必问)。

3. 滑动窗口,TCP数据包格式,半关闭状态,通信时序与代码对应关系。

4. TCP状态转换图: TCP连接的建立和断开过程中客户端和服务器的状态变化,2MSL时长。

二、socket编程

1. socket的概念: socket的通信原理。

2. 预备知识:网络字节序,网络字节序和主机字节序的转换(函数),IP地址转换函数,sockaddr数据结构。

3. 网络套接字函数:socket函数、listen函数、bind函数、accept函数、connect函数。

4. TCP通信流程分析:有一张流程图重要。

三、高并发服务器

1. 多进程并发服务器:服务器的实现方式,设计思路,子进程与父进程执行的内容,相关的代码搞懂并写出来。

2. 多路IO转接服务器(以下内容非常重要,面试经常问):

(1)select实现:原理,select实现多路IO转接设计思路, select优缺点,

select相关函数及参数的分析—— int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,

struct timeval *timeout)、 void FD_CLR(int fd, fd_set *set)、int FD_ISSET(int fd, fd_set *set)、

void FD_SET(int fd, fd_set *set)、void FD_ZERO(fd_set *set)。

(2)epoll实现:read函数、int epoll_create(int size)、int epoll_ctl (int epfd, int op, int fd,

struct epoll_event *event)、int epoll_wait (int epfd, struct epoll_event *events, int maxevents, int timeout),

ET和LT模式,epoll的优缺点,epoll反应堆。

(3)线程池:框架、struct threadpool_t, 线程池模块分析,代码搞懂(面试会问)。

3. UDP服务器:TCP与UDP通信的优缺点,UDP通信server和client流程。

全部评论
捞人
点赞 回复 分享
发布于 2023-03-08 10:18 山东
请问大佬可以分享一些嵌入式的优质项目吗
点赞 回复 分享
发布于 2023-02-25 15:52 天津

相关推荐

不愿透露姓名的神秘牛友
07-04 15:36
点赞 评论 收藏
分享
矫健的闭门羹烹饪师又...:本人双非本,在鹅厂测开实习,你这个简历上写的这两个项目的技术栈都差不多,能够让面试官去延伸去问的八股除了redis就再没啥了,建议项目这边可以再改改,然后专业技能那块的话,感觉linux和测试工具可以分开写,毕竟不是干一件事的,反正没实习的基础上面试就深挖项目和八股,好好卷吧
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
评论
15
116
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务