C/S编程

C/S就是客户端/服务器通讯,TCP的服务器端调用socket(),bind(),listen()进行初始化后,调用accept()进行阻塞等待,监听端口状态,TCP的客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器收到后回应客户端一个SYN-ACK段,客户端收到后从connect()返回,同时给服务器一个ACK,服务器收到后从accept()返回,从而通过三次握手建立数据连接。

FreeRTOS&lwIP

freeRTOS配置

C/S编程_第1张图片

ETH配置

C/S编程_第2张图片

lwIP配置

C/S编程_第3张图片

TCP Server端实现

C/S模型

C/S编程_第4张图片

Server 端功能分析

C/S编程_第5张图片

TCP Client实现

C/S模型

C/S编程_第6张图片

Client 端功能分析

C/S编程_第7张图片

C/S编程错误分析

代码编写问题

int socket(int domain, int type, int protocol);
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
int listen(int sockfd, int backlog);
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
size_t write(int fd,const void *buf,size_t nbytes);
size_t read(int fd,void *buf,size_t nbyte);

Server存在的问题

Client存在的问题

你可能感兴趣的:(物联网lwIP网络开发,网络,物联网,stm32)