如何通过 TCP/LwIp 发送数据?

问题描述

我正在为 stm32 使用 Echoserver 和 EchoClient 源代码

我使用 tcp_echoserver_init(); 函数启动回调,并尝试将 python 客户端连接到此服务器。并成功连接。我用wireshark检查过。并且python程序没有报错。

但是我想从服务器向客户端发送数据,但我没有这样做。我总是Errorr 2(当我从客户端连接到服务器时,我没有得到任何数据) 我再次使用 tcp_echoserver_init();

初始化服务器

tcp_data_send 函数在 while 循环中调用。如何正确通过 tcp 发送数据?

void tcp_data_send(void)
 {
     err_t err;

 char data1[] = { 1,2,3,4}; 
 if( tcp_echoserver_pcb != NULL && (tcp_echoserver_pcb->state == ESTABLISHED))
 {
 /* send data1 */

 err = tcp_write(tcp_echoserver_pcb,(const void *)&data1,4,0); 
 err = tcp_output(tcp_echoserver_pcb);
 SerialPrint(" established \n");
 
 if( ( err == ERR_MEM ) )
 {
   SerialPrint("Errorr 1");
 // close_my_conn( my_pcb );
 } 
 
 }
 else
 {
     SerialPrint("Errorr 2");

 }  
   
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)