0606

目前STM32F407的客户端程序与PC端的服务器程序不兼容,先理解一下客户端程序数据结构和lwip的常用函数,看看能不能简单的得到修改,如果不行就再尝试修改服务器程序吧。没有其他办法

可以尝试先把所有的计算、操作都在服务区端实现,尽可能让服务器端去兼容客户端。

//tcp_client_demo.h
//LWIP回调函数使用的结构体 
struct tcp_client_struct
{
    u8  state;              //当前连接状态
    struct tcp_pcb *pcb;    //指向当前的pcb
    struct pbuf *p;         //指向接收/或传输的pbuf 
}

struct tcp_pcb *tcp_new(void)

创建一个新的连接标识符(PCB)。如果没有有效的存储空间创建这个新的pcb,返回NULL。

译注:这个函数创建一个TCP协议控制块,但并不把它放到任何TCP PCB列表,直到使用tcp_bind()函数绑定。Tcp_new()函数会调用tcp_alloc函数来动态申请一块内存并初始化它,之后将这块内存的首地址返回给tcp_new()函数,如果动态内存不成功的话返回NULL。

参考链接

Socket & TCP &HTTP
lwIP(V1.3.0)RAW_API译文

你可能感兴趣的:(0606)