LMSS6432使用Lwip作为TCP客户端如何接收数据?

2019-03-24 12:06发布

使用lwip的RAW的模式:
void TCP_Client_Init()
{
  struct tcp_pcb *Clipcb;
  struct ip_addr ipaddr;

  IP4_ADDR(&ipaddr,192,168,1,16);

  Clipcb = tcp_new();                       // 建立通信的TCP控制块(Clipcb)

  tcp_bind(Clipcb,IP_ADDR_ANY,8080);       // 绑定本地IP地址和端口号

  tcp_connect(Clipcb,&ipaddr,8080,TcpCli_Connected);
}

然后在回调函数TcpCli_Connected中,调用tcp_write发送数据------这一步没有问题。

但是作为TCP客户端如何侦听来至服务器的数据?

我尝试了在回调函数TcpCli_Connected中,调用函数
pcb = tcp_listen(pcb);                       /* 进入监听状态 */
tcp_accept(pcb,TcpCli_Accepted);

实际的调试中发现,网络连接后以后,使用上位机网络调试助手对192.168.1.25(单板的IP地址):8080(任意连接上的端口号)发送数据包,发送不出来,一直显示发送失败

请教高手,如何解决这个问题,万分感谢。。。
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
academic
2019-03-24 21:49
作为客户端就不要调用tcp_listen了,服务器端无法发送数据是个什么样的情形呢?建议看一下
http://bbs.eeworld.com.cn/thread-222963-1-2.html

一周热门 更多>

相关问题

    相关文章