你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

FreeRTOS LwIP TCP server线程

[复制链接]
captainliuy 提问时间:2016-9-9 14:32 /
本帖最后由 captainliuy 于 2016-9-9 14:58 编辑

启动任务调用如下函数建立了一个server线程void tcp_server_init(void)
{
      sys_thread_new("tcp_server", tcp_server_thread, NULL, DEFAULT_THREAD_STACKSIZE, TCPECHO_THREAD_PRIO);
}
线程函数如下:static void tcp_server_thread(void *arg)
{
  int sock, newconn, size;
  struct sockaddr_in address, remotehost;

  LWIP_UNUSED_ARG(arg);

  /* create a TCP socket */
  if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
  {
    return;
  }

  /* bind to port 80 at any interface */
  address.sin_family = AF_INET;
  address.sin_port = htons(80);
  address.sin_addr.s_addr = INADDR_ANY;

  if (bind(sock, (struct sockaddr *)&address, sizeof (address)) < 0)
  {
    return;
  }

  /* listen for incoming connections (TCP listen backlog = 5) */
  listen(sock, 5);

  size = sizeof(remotehost);

  while (1)
  {
    newconn = accept(sock, (struct sockaddr *)&remotehost, (socklen_t *)&size);
    http_server_serve(newconn);
  }
}


在调用socket和bind函数的过程失败后都有return,任务return不是会出问题吗?


收藏 1 评论1 发布时间:2016-9-9 14:32

举报

1个回答
高二毛 回答时间:2016-9-10 14:29:34
你可以修改修改的。或者试试加上这个return有什么问题。多试试。。。。
你可以再lwip重故意返回一个错误值试试。经验就是这么积累起来的,不是问出来的。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版