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

一、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-02-25 15:52 天津
捞人
点赞
送花
回复
分享
发布于 2023-03-08 10:18 山东
秋招专场
校招火热招聘中
官网直投

相关推荐

头像
05-13 11:19
C++
点赞 评论 收藏
转发
15 117 评论
分享
牛客网
牛客企业服务