打印

Lwip的断线重连

[复制链接]
6394|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
celticzy|  楼主 | 2012-11-3 18:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
lwIP, ST, tc, NET, ps
本帖最后由 celticzy 于 2012-11-4 10:22 编辑

对这个协议栈不是很了解,虽然已经移植自己的平台下,但使用还不熟悉。
我的平台下建立了一个tcp服务器,客服端第一次连接会正常工作,但是若客服端断开就再连接就不行了,下面是应用任务代码,用的是API,对了,版本是1.3.2,操作系统是usos。各位能帮忙看看吗?
 
static  void    uctsk_TcpTest(void *pdata)
{
   const uint8_t welcome[] = "hello, world!\r\n";

   struct netconn  *__pstConn, *__pstNewConn;
   struct netbuf  *__pstNetbuf;
   INT8S   *__pbData;
   uint16_t  __pbDataLen;

   Init_lwIP();

   __pstConn = netconn_new(NETCONN_TCP);
   netconn_bind(__pstConn, NULL,7);
   netconn_listen(__pstConn);
   __pstNewConn = netconn_accept(__pstConn);
   netconn_write(__pstNewConn,welcome,sizeof(welcome),NETCONN_COPY);

   for(;;)
   {
     if(__pstNewConn != NULL)
    {   
      __pstNetbuf = netconn_recv(__pstNewConn);
     netbuf_data (__pstNetbuf, (void *)&__pbData, &__pbDataLen );
     netconn_write(__pstNewConn,__pbData,__pbDataLen,NETCONN_COPY);
     netbuf_delete(__pstNetbuf);
    }
   }
}

相关帖子

沙发
celticzy|  楼主 | 2012-11-3 19:08 | 只看该作者
对了,没有养成写注释的习惯,抱歉!这个任务我实现的功能是:连接服务器时显示一个万年的“hello world!”,后面客服端发什么服务器便回应什么。

使用特权

评论回复
板凳
xyz769| | 2012-11-5 09:06 | 只看该作者
你没做连接维护吧?贴完整代码看看。。

使用特权

评论回复
地板
celticzy|  楼主 | 2012-11-5 10:42 | 只看该作者
3# xyz769

连接维护是协议栈部分实现还是任务实现呢?
若是任务的话,上面就是全部的任务代码了。
正在研究两个api源文件的api函数使用方法。

使用特权

评论回复
5
阿南| | 2012-11-5 11:21 | 只看该作者
3楼应该指的是任务部分。

使用特权

评论回复
6
xyz769| | 2012-11-7 09:02 | 只看该作者
别人给的简单DEMO没有断线重连功能的,想扩展这个功能,自己还要写很多代码。

  慢慢学吧。。

使用特权

评论回复
7
celticzy|  楼主 | 2012-11-7 19:14 | 只看该作者
谢谢各位,有点思路了

使用特权

评论回复
8
wanwank| | 2013-1-4 12:04 | 只看该作者
您好, 我现在也在弄断线重连这块, 你用什么思路实现的那,我重新运行代码,不管用啊,193082007@163.com

使用特权

评论回复
9
申小林一号| | 2015-10-22 13:08 | 只看该作者
celticzy 发表于 2012-11-7 19:14
谢谢各位,有点思路了

你好,请问能给出你的思路么?

使用特权

评论回复
10
阿南| | 2015-10-22 14:14 | 只看该作者
申小林一号 发表于 2015-10-22 13:08
你好,请问能给出你的思路么?

楼主已经很久没上来了,自己在想想其它办法吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

18

帖子

1

粉丝