Lwip的断线重连

[复制链接]
7144|9
 楼主| celticzy 发表于 2012-11-3 18:57 | 显示全部楼层 |阅读模式
lwIP, ST, tc, NET, ps
本帖最后由 celticzy 于 2012-11-4 10:22 编辑

对这个协议栈不是很了解,虽然已经移植自己的平台下,但使用还不熟悉。
我的平台下建立了一个tcp服务器,客服端第一次连接会正常工作,但是若客服端断开就再连接就不行了,下面是应用任务代码,用的是API,对了,版本是1.3.2,操作系统是usos。各位能帮忙看看吗?

  1. static  void    uctsk_TcpTest(void *pdata)
  2. {
  3.    const uint8_t welcome[] = "hello, world!\r\n";

  4.    struct netconn  *__pstConn, *__pstNewConn;
  5.    struct netbuf  *__pstNetbuf;
  6.    INT8S   *__pbData;
  7.    uint16_t  __pbDataLen;

  8.    Init_lwIP();

  9.    __pstConn = netconn_new(NETCONN_TCP);
  10.    netconn_bind(__pstConn, NULL,7);
  11.    netconn_listen(__pstConn);
  12.    __pstNewConn = netconn_accept(__pstConn);
  13.    netconn_write(__pstNewConn,welcome,sizeof(welcome),NETCONN_COPY);

  14.    for(;;)
  15.    {
  16.      if(__pstNewConn != NULL)
  17.     {   
  18.       __pstNetbuf = netconn_recv(__pstNewConn);
  19.      netbuf_data (__pstNetbuf, (void *)&__pbData, &__pbDataLen );
  20.      netconn_write(__pstNewConn,__pbData,__pbDataLen,NETCONN_COPY);
  21.      netbuf_delete(__pstNetbuf);
  22.     }
  23.    }
  24. }

 楼主| celticzy 发表于 2012-11-3 19:08 | 显示全部楼层
对了,没有养成写注释的习惯,抱歉!这个任务我实现的功能是:连接服务器时显示一个万年的“hello world!”,后面客服端发什么服务器便回应什么。
xyz769 发表于 2012-11-5 09:06 | 显示全部楼层
你没做连接维护吧?贴完整代码看看。。
 楼主| celticzy 发表于 2012-11-5 10:42 | 显示全部楼层
3# xyz769

连接维护是协议栈部分实现还是任务实现呢?
若是任务的话,上面就是全部的任务代码了。
正在研究两个api源文件的api函数使用方法。
阿南 发表于 2012-11-5 11:21 | 显示全部楼层
3楼应该指的是任务部分。
xyz769 发表于 2012-11-7 09:02 | 显示全部楼层
别人给的简单DEMO没有断线重连功能的,想扩展这个功能,自己还要写很多代码。

  慢慢学吧。。
 楼主| celticzy 发表于 2012-11-7 19:14 | 显示全部楼层
谢谢各位,有点思路了
wanwank 发表于 2013-1-4 12:04 | 显示全部楼层
您好, 我现在也在弄断线重连这块, 你用什么思路实现的那,我重新运行代码,不管用啊,193082007@163.com
申小林一号 发表于 2015-10-22 13:08 | 显示全部楼层
celticzy 发表于 2012-11-7 19:14
谢谢各位,有点思路了

你好,请问能给出你的思路么?
阿南 发表于 2015-10-22 14:14 | 显示全部楼层
申小林一号 发表于 2015-10-22 13:08
你好,请问能给出你的思路么?

楼主已经很久没上来了,自己在想想其它办法吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

18

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部