OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3834|回复: 4

STM32F746G-Discovery板 lwip tcp客户端 无法建立连接

[复制链接]

19

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
金钱
302
注册时间
2015-9-2
在线时间
83 小时
发表于 2017-10-3 19:17:41 | 显示全部楼层 |阅读模式
50金钱
最近需要用到网络通信功能,就参考官方固件库里的参考应用样例 LwIP_HTTP_Server_Netconn_RTOS 这个工程
在此基础上粗暴的修改了一下改成了tcp client连接主机模式的了,但是并未成功,这个例程原本是一个基于tcp连接的一个http服务器,然后我改了里面的http_server_netconn_thread函数
参考f7教程里的tcp客户端例程修改了,发现一只卡在netconn_connect这里,也就是连接不上目标主机,我查了err值,对应的是
/** Routing problem.         */
  ERR_RTE        = -4

这个路由错误,但是我直接测试例程的时候是执行成功的也就是说物理线路接连和路由器没毛病,搞不懂了,请会的解答一下谢谢。
[mw_shl_code=c,true]static void http_server_netconn_thread(void *arg)
{
  
  
  static ip_addr_t server_addr;
        server_addr.addr = 0xc0a8c7bb;

        while(1)
        {
                /* Create a new TCP connection handle */
                conn = netconn_new(NETCONN_TCP);
                LCD_UsrLog ("  netconn_new ...\n");
               
                /*netconn_bind(conn,NULL,7000);
                LCD_UsrLog ("  netconn_bind ...\n");*/
               
                err = netconn_connect(conn,&server_addr,8060);
                LCD_UsrLog ("  netconn_connect ...\n");
               
                if(err != ERR_OK) netconn_delete(conn);
                else if(err == ERR_OK)
                {
                        struct netbuf *recvbuf;
                        while(1)
                        {
                               
                                netconn_write(conn,tcp_client_sendbuf,strlen(tcp_client_sendbuf),NETCONN_COPY);
                        }
                }
        }
       
       
       
  /*if (conn!= NULL)
  {
     //-Bind to port 80 (HTTP) with default IP address
    err = netconn_bind(conn, NULL, 80);
    LCD_UsrLog ("  netconn_bind ...\n");
               
    if (err == ERR_OK)
    {
       //-Put the connection into LISTEN state
      netconn_listen(conn);
                        LCD_UsrLog ("  netconn_listen ...\n");
                       
      while(1)
      {
         //-accept any icoming connection
        accept_err = netconn_accept(conn, &newconn);
        if(accept_err == ERR_OK)
        {
           //-serve connection
          http_server_serve(newconn);

           //-delete connection
          netconn_delete(newconn);
        }
      }
    }
  }*/
}
[/mw_shl_code]

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
302
金钱
302
注册时间
2015-9-2
在线时间
83 小时
 楼主| 发表于 2017-10-4 13:07:46 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2017-10-8 20:14:37 | 显示全部楼层
百度
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2017-10-8 20:14:43 | 显示全部楼层
帮顶
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2017-10-8 20:14:46 | 显示全部楼层
帮顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 22:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表