1.C/S网络程序的工作流程,如图:

2.ST关于TCP的例程分为client和server,根据字面意思,可以知道tcp_echoserver例程是将STM32作为server来用。而例程的第一步呢,便是初始化,调用的是tcp_echoserver_init()函数。
在tcp_echoserver_init()函数里,主要做了这么几件事情:
1. 创建一个新的TCP协议控制块
2. 绑定地址和端口号(port)
3. 开始监听(listen)
4. 设置accept的回调函数
其完整代码如下:
void tcp_echoserver_init(void)
{
//创建一个新的TCP控制块
tcp_echoserver_pcb = tcp_new();
if (tcp_echoserver_pcb != NULL)
{
err_t err;
//绑定到端口7
err = tcp_bind(tcp_echoserver_pcb, IP_ADDR_ANY, 7);
if (err == ERR_OK)
{
//开始监听
tcp_echoserver_pcb = tcp_listen(tcp_echoserver_pcb);
//设置tcp_echoserver_accept为accept的回调函数
tcp_acce

本文详细解析STM32作为TCP服务器的初始化过程,包括创建TCP控制块、绑定地址和端口、监听及设置回调函数。并通过代码示例,深入探讨了accept、receive、error和poll等关键回调函数的作用。
最低0.47元/天 解锁文章
1674

被折叠的 条评论
为什么被折叠?



